web/src/main/java/org/springframework/security/web/authentication/www/DigestAuthUtils.java
static Map<String, String> splitEachArrayElementAndCreateMap(String[] array,
			String delimiter, String removeCharacters) {
		if ((array == null) || (array.length == 0)) {
			return null;
		}

		Map<String, String> map = new HashMap<>();

		for (String s : array) {
			String postRemove;

			if (removeCharacters == null) {
				postRemove = s;
			}
			else {
				postRemove = StringUtils.replace(s, removeCharacters, "");
			}

			String[] splitThisArrayElement = split(postRemove, delimiter);

			if (splitThisArrayElement == null) {
				continue;
			}

			map.put(splitThisArrayElement[0].trim(), splitThisArrayElement[1].trim());
		}

		return map;
	}
static Map<String, String> splitEachArrayElementAndCreateMap(String[] array,
			String delimiter, String removeCharacters) {
		if ((array == null) || (array.length == 0)) {
			return null;
		}

		Map<String, String> map = new HashMap<>();

		for (String s : array) {
			String postRemove;

			if (removeCharacters == null) {
				postRemove = s;
			}
			else {
				postRemove = StringUtils.replace(s, removeCharacters, "");
			}

			String[] splitThisArrayElement = split(postRemove, delimiter);

			if (splitThisArrayElement == null) {
				continue;
			}

			map.put(splitThisArrayElement[0].trim(), splitThisArrayElement[1].trim());
		}

		return map;
	}
Takes an array of <code>String</code>s, and for each element removes any instances
of <code>removeCharacter</code>, and splits the element based on the
<code>delimiter</code>. A <code>Map</code> is then generated, with the left of the
delimiter providing the key, and the right of the delimiter providing the value.
<p>
Will trim both the key and value before adding to the <code>Map</code>.
</p>

@param array the array to process
@param delimiter to split each element using (typically the equals symbol)
@param removeCharacters one or more characters to remove from each element prior to
attempting the split operation (typically the quotation mark symbol) or
<code>null</code> if no removal should occur
@return a <code>Map</code> representing the array contents, or <code>null</code> if
the array to process was null or empty