### Question:
GroupingListMultiMap implements DisposableMap<K, List<V>>, ListEventListener<List<V>> { @Override public boolean containsKey(Object key) { return delegate.containsKey(key); } GroupingListMultiMap(EventList<V> source, FunctionList.Function<V, ? extends K> keyFunction, Comparator<? super K> keyGrouper); @Override void dispose(); @Override int size(); @Override boolean isEmpty(); @Override boolean containsKey(Object key); @Override boolean containsValue(Object value); @Override List<V> get(Object key); @Override List<V> put(K key, List<V> value); @Override void putAll(Map<? extends K, ? extends List<V>> m); @Override void clear(); @Override List<V> remove(Object key); @Override Collection<List<V>> values(); @Override Set<K> keySet(); @Override Set<Entry<K, List<V>>> entrySet(); @Override boolean equals(Object o); @Override int hashCode(); @Override void listChanged(ListEvent<List<V>> listChanges);  }### Answer:
@Test public void testContainsKey() { final EventList<String> source = new BasicEventList<>(); final Map<? extends Comparable, List<String>> eventMap = GlazedLists.syncEventListToMultiMap(source, new FirstLetterFunction()); source.add("James"); assertEquals(1, eventMap.size()); assertTrue(eventMap.containsKey("J")); source.add("Lemieux"); assertEquals(2, eventMap.size()); assertTrue(eventMap.containsKey("J")); assertTrue(eventMap.containsKey("L")); assertFalse(eventMap.containsKey("W")); source.addAll(GlazedListsTests.delimitedStringToList("Jesse Wilson")); assertEquals(3, eventMap.size()); assertTrue(eventMap.containsKey("J")); assertTrue(eventMap.containsKey("L")); assertTrue(eventMap.containsKey("W")); source.remove("Lemieux"); assertEquals(2, eventMap.size()); assertTrue(eventMap.containsKey("J")); assertFalse(eventMap.containsKey("L")); assertTrue(eventMap.containsKey("W")); source.remove("James"); assertEquals(2, eventMap.size()); assertTrue(eventMap.containsKey("J")); assertFalse(eventMap.containsKey("L")); assertTrue(eventMap.containsKey("W")); source.clear(); assertEquals(0, eventMap.size()); assertFalse(eventMap.containsKey("J")); assertFalse(eventMap.containsKey("L")); assertFalse(eventMap.containsKey("W")); assertTrue(eventMap.isEmpty()); }