BidirectionalMultiMap { public Set<V> get(K key) { return Collections.unmodifiableSet(_primaryMap.get(key)); } BidirectionalMultiMap(); private  BidirectionalMultiMap(SetMultimap<K, V> primaryMap, SetMultimap<V, K> secondaryMap); private  BidirectionalMultiMap(SetMultimap<K, V> primaryMap, SetMultimap<V, K> secondaryMap,
                                BidirectionalMultiMap<V, K> inverse); BidirectionalMultiMap<V, K> inverse(); void put(K key, V value); Set<V> get(K key); boolean containsKey(K key); Set<K> keySet(); void remove(K key, V value); int size(); Set<V> removeAll(K key);  }
@Test public void testGetWithNullKeyReturnsEmpty() { assertThat(_bidirectionalMultiMap.get(null).isEmpty(), is(true)); }