@SafeVarargs
	@Pure
	public static <K, V> HashMap<K, V> newHashMap(Pair<? extends K, ? extends V>... initial) {
		if (initial.length > 0) {
			HashMap<K, V> result = new HashMap<K, V>(capacity(initial.length));
			putAll(result, initial);
			return result;
		}
		return newHashMap();
	}
@ SafeVarargs @ Pure public static < K , V > HashMap < K , V > newHashMap ( Pair < ? extends K , ? extends V > ... initial ) { if ( initial . length > 0 ) { HashMap < K , V > result = new HashMap < K , V > ( capacity ( initial . length ) ) ; putAll ( result , initial ) ; return result ; } return newHashMap ( ) ; }
Creates a mutable {@link HashMap} instance containing the given initial entries. Repeated occurrences of a keys
will cause an {@link IllegalArgumentException}.

@param initial
the entries that should be contained in the map. May not be <code>null</code> but may contain
<code>null</code> keys or values.
@return a new {@link HashMap} containing those elements
@throws IllegalArgumentException
if duplicate keys are contained the {@code initial} entries.