static B getAndRemove(Map map, A a) { if (!containsKey(map, a)) null; B b = map.get(a); map.remove(a); ret b; } static B getAndRemove(A a, Map map) { ret getAndRemove(map, a); }