BloomFilterManagerImpl implements BloomFilterManager<T, C>,
        Listenable<BloomFilterManagerListener<? super T, C>> { @Override public void remove(String name) { final T filter; filterMapLock.lock(); try { filter = filterMap.remove(name); } finally { filterMapLock.unlock(); } if (filter != null) { notifyBloomFilterRemoved(name, filter); } } BloomFilterManagerImpl(BloomFilterFactory<? extends T, ? super C> factory); @Override CreateFilterResult<T> createFilter(String name, C config, boolean overwrite); @Override void addFilters(Iterable<FilterRecord<? extends T>> filters); @Nullable @Override T getFilter(String name); @Override T ensureGetValidFilter(String name); @Override List<String> getAllFilterNames(); @Override int size(); @Override void remove(String name); @Override void remove(String name, T filter); @Override Iterator<FilterRecord<T>> iterator(); @Override void addListener(BloomFilterManagerListener<? super T, C> listener); @Override boolean removeListener(BloomFilterManagerListener<? super T, C> listener);  }
@Test public void testRemove() { final ExpirableBloomFilterConfig config = new ExpirableBloomFilterConfig(); final BloomFilter filter = manager.createFilter(testingFilterName, config).getFilter(); assertThat(manager.getFilter(testingFilterName)).isSameAs(filter); manager.remove(testingFilterName); assertThat(manager.getFilter(testingFilterName)).isNull(); }