@Override public boolean findNextNonMatched() { if (noMore) { return false; } while (true) { nonMatchedLogicalSlotNum++; if (nonMatchedLogicalSlotNum >= hashMap.logicalHashBucketCount) { // Fall below and handle Small Table NULL key. break; } final long refWord = hashMap.slots[nonMatchedLogicalSlotNum]; if (refWord != 0) { if (!matchTracker.wasMatched(nonMatchedLogicalSlotNum)) { nonMatchedHashMapResult.set(hashMap.hashMapStore, refWord); keyIsNull = false; return true; } } } // Do we have a Small Table NULL Key? if (hashMap.fullOuterNullKeyRefWord == 0) { return false; } nonMatchedHashMapResult.set(hashMap.hashMapStore, hashMap.fullOuterNullKeyRefWord); noMore = true; keyIsNull = true; return true; }