static Map lambdaMapLike mapKeysAndValues(O f, Map map) { ret mapKeysAndValues(f, f, map); } static Map mapKeysAndValues(O fKey, O fValue, Map map) { if (map == null) null; Map m = similarEmptyMap(map); for (O key : keys(map)) m.put(callF(fKey, key), callF(fValue, map.get(key))); ret m; } static Map mapKeysAndValues(IF1 f, Map map) { ret mapKeysAndValues((O) f, map); }