static Map filterMap(Map map, IF2 f) { if (map == null) null; Map m2 = similarEmptyMap(map); for (A a, B b : map) { if (f.get(a, b)) m2.put(a, b); } ret m2; } static Map curry1Like filterMap(IF2 f, Map map) { ret filterMap(map, f); } static Map filterMap(Map map, A... keys) { ret getMultipleKeys(map, keys); } static Map filterMap(Map map, Iterable keys) { ret getMultipleKeys(map, keys); }