### Question:
ConcurrentDistinctMultiValueMap { public void removeValue(V value) { if (value == null) { throw new IllegalArgumentException("Method argument value must not be null."); } this.store.values().forEach(v -> v.remove(value)); }  Collection<V> get(K key); void put(K key, V value); void clear(); Collection<V> remove(K key); Collection<Collection<V>> values(); void put(K key, Collection<V> values); Collection<V> computeIfAbsent(K key, Function<? super K, ? extends Collection<V>> mappingFunction); Map<K, Collection<V>> shallowCopy(); int size(); boolean isEmpty(); void removeValue(V value);  }### Answer:
@Test public void testRemoveValue() { this.testee.put("test", "test1"); this.testee.put("test", "test2"); this.testee.removeValue("test1"); assertThat(this.testee).containsOnly("test", "test2"); this.testee.removeValue("test2"); assertThat(this.testee).containsOnly("test"); }