note : this method deviates from the original multimap interface in that changes to the returned collectionwill not update the underlying multimap and vice-versa . concode_field_sep NoOpEmptySet emptySet concode_elem_sep int totalSize concode_elem_sep NonBlockingHashMap<K,Set<V>> map concode_field_sep Map<K,Collection<V>> asMap concode_elem_sep Multiset<K> keys concode_elem_sep Collection<V> values concode_elem_sep boolean containsValue concode_elem_sep boolean put concode_elem_sep boolean remove concode_elem_sep boolean remove concode_elem_sep Collection<V> removeAll concode_elem_sep boolean removeAll concode_elem_sep Iterator<V> iterator concode_elem_sep int hashCode concode_elem_sep Set<V> get concode_elem_sep boolean putAll concode_elem_sep boolean putAll concode_elem_sep Object[] toArray concode_elem_sep T[] toArray concode_elem_sep NonBlockingHashMultimap<K,V> create concode_elem_sep Set<K> keySet concode_elem_sep boolean add concode_elem_sep boolean containsEntry concode_elem_sep boolean containsKey concode_elem_sep boolean containsAll concode_elem_sep void clear concode_elem_sep void clear concode_elem_sep boolean isEmpty concode_elem_sep boolean isEmpty concode_elem_sep Collection<V> replaceValues concode_elem_sep boolean contains concode_elem_sep int size concode_elem_sep int size concode_elem_sep boolean addAll concode_elem_sep boolean equals concode_elem_sep String toString concode_elem_sep boolean retainAll
Collection < Entry < K , V >> function ( ) { Set < Entry < K , V >> loc0 = new NonBlockingHashSet < Entry < K , V >> ( ) ; for ( K loc1 : keySet ( ) ) { for ( V loc2 : get ( loc1 ) ) { loc0 . add ( Maps . immutableEntry ( loc1 , loc2 ) ) ; } } return loc0 ; }