static Map cloneMap(Map map) {
if (map == null) ret new HashMap;
// assume mutex is equal to collection
synchronized(map) {
ret map instanceof TreeMap ? new TreeMap((TreeMap) map) // copies comparator
: map instanceof LinkedHashMap ? new LinkedHashMap(map)
: new HashMap(map);
}
}