public static <K,V>MultiValueMap<K,V> unmodifiableMultiValueMap(MultiValueMap<? extends K,? extends V> map){
  Assert.notNull(map,"'map' must not be null");
  Map<K,List<V>> result=new LinkedHashMap<K,List<V>>(map.size());
  for (  Map.Entry<? extends K,? extends List<? extends V>> entry : map.entrySet()) {
    List<V> values=Collections.unmodifiableList(entry.getValue());
    result.put(entry.getKey(),values);
  }
  Map<K,List<V>> unmodifiableMap=Collections.unmodifiableMap(result);
  return toMultiValueMap(unmodifiableMap);
}

public static < K , V > MultiValueMap < K , V > unmodifiableMultiValueMap ( MultiValueMap < ? extends K , ? extends V > map ) { Assert . notNull ( map , "'map' must not be null" ) ; Map < K , List < V > > result = new LinkedHashMap < K , List < V > > ( map . size ( ) ) ; for ( Map . Entry < ? extends K , ? extends List < ? extends V > > entry : map . entrySet ( ) ) { List < V > values = Collections . unmodifiableList ( entry . getValue ( ) ) ; result . put ( entry . getKey ( ) , values ) ; } Map < K , List < V > > unmodifiableMap = Collections . unmodifiableMap ( result ) ; return toMultiValueMap ( unmodifiableMap ) ; }
returns an unmodifiable view of the specified multi - value map .
