boolean () { while (hashIterator.hasNext()) { Entry<Key<K>, V> ent = hashIterator.next(); Key<K> wk = ent.getKey(); K k; if ((k = wk.get()) == null) { // weak key has been cleared by GC, ignore continue; } next = new MyEntry<>(ent, k, wk.hashCode(), myStrategy); return true; } return false; }