static Map filterByValue(Map map, B value) { Map m2 = similarEmptyMap(map); for (A key : keys(map)) { B b = map.get(key); if (eq(b, value)) m2.put(key, b); } ret m2; } static Map lambdaMapLike filterByValue(IPred pred, Map map) { ret filterByValuePredicate(pred, map); }