public void invalidate(final K key) {
        LOGGER.debug("Invalidating key {}", key);
        // Get all the cache key instances for our key K
        final LinkedBlockingDeque<PoolKey<K>> poolKeys = keyMap.get(key);
        if (poolKeys != null && !poolKeys.isEmpty()) {
            final List<PoolKey<K>> drainedPoolKeys = new ArrayList<>();
            final int drainCount = poolKeys.drainTo(drainedPoolKeys);
            LOGGER.debug("Invalidating {} poolKeys for key {}", drainCount, key);

            // Now remove the found cache keys from the cache
            drainedPoolKeys.forEach(cache::invalidate);
        }
    }
Forces the eviction of all pooled items associated with this key

@param key The key of the entry to evict.
stroom-pipeline/src/main/java/stroom/pipeline/cache/AbstractPoolCache.java