guava/src/com/google/common/collect/Multimaps.java
public static <K, V> SortedSetMultimap<K, V> unmodifiableSortedSetMultimap(
      SortedSetMultimap<K, V> delegate) {
    if (delegate instanceof UnmodifiableSortedSetMultimap) {
      return delegate;
    }
    return new UnmodifiableSortedSetMultimap<>(delegate);
  }
public static <K, V> SortedSetMultimap<K, V> unmodifiableSortedSetMultimap(
      SortedSetMultimap<K, V> delegate) {
    if (delegate instanceof UnmodifiableSortedSetMultimap) {
      return delegate;
    }
    return new UnmodifiableSortedSetMultimap<>(delegate);
  }
Returns an unmodifiable view of the specified {@code SortedSetMultimap}. Query operations on
the returned multimap "read through" to the specified multimap, and attempts to modify the
returned multimap, either directly or through the multimap's views, result in an {@code
UnsupportedOperationException}.

<p>The returned multimap will be serializable if the specified multimap is serializable.

@param delegate the multimap for which an unmodifiable view is to be returned
@return an unmodifiable view of the specified multimap