u1.waitUnreachable();
assure("", WeakMap.getValue(m.get("key1")) == null);
((Disposable) u2.get()).dispose();
assure("", WeakMap.getValue(m.get("key2")) == null);
m.clear();
u2.waitUnreachable();
assure("", m.size() == 0);
m.put("key2", new Object());
assure("", m.size() == 1);
}