static Map minimalNotifyingMap(Map map, Runnable notify) { ret new AbstractMap() { public Set> entrySet() { throw unimplemented(); } public B put(A a, B b) { B result = map.put(a, b); pcallF(notify); ret result; } }; }