public Set<K> keySet() {
        processQueue();
        return map.keySet();
    }
Traverses the ReferenceQueue and removes garbage-collected SoftValue objects from the backing map
by looking them up using the SoftValue.key data member.
src/main/java/org/apache/shiro/lang/util/SoftHashMap.java