static Map<K, V> dynamicallyCastMap(Map<?, ?> map,
Class<K> keyType,
Class<V> valueType) {
if (map == null) {
return null;
}
assert checkCollectionMembers(map.keySet(), keyType) :
"The map contains keys with a type other than " + keyType.getName();
assert checkCollectionMembers(map.values(), valueType) :
"The map contains values with a type other than " + valueType.getName();
return (Map< K, V >) map;
}
Dynamically check that the keys and values in the map are all
instances of the correct types (or null). |