void () { try { if (!protectedQueue.isEmpty()) { for (Map.Entry<K, V> entry : protectedQueue.entrySet()) { onDropFromCache(entry.getKey(), entry.getValue()); } } if (!probationalQueue.isEmpty()) { for (Map.Entry<K, V> entry : probationalQueue.entrySet()) { onDropFromCache(entry.getKey(), entry.getValue()); } } } finally { protectedQueue.clear(); probationalQueue.clear(); } }