sclass WeakIdentityHashSet extends AbstractSet { Map map = newWeakIdentityHashMap(); public int size() { ret map.size(); } public Iterator iterator() { ret keys(map).iterator(); } public bool contains(O o) { ret map.containsKey(o); } public bool add(A a) { ret map.put(a, Bool.TRUE) != null; } public bool remove(O o) { ret map.remove(o) != null; } O mutex() { ret collectionMutex(map); } }