code: public static <K, V> Multimap<K, V> unmodifiableMultimap(Multimap<K, V> delegate) {
      if (delegate instanceof UnmodifiableMultimap || delegate instanceof ImmutableMultimap) {
        return delegate;
      }
      return new UnmodifiableMultimap<>(delegate);
    }
docs: Returns an unmodifiable view of the specified multimap. 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