code: public static <K, V> ListMultimap<K, V> unmodifiableListMultimap(ListMultimap<K, V> delegate) {
      if (delegate instanceof UnmodifiableListMultimap || delegate instanceof ImmutableListMultimap) {
        return delegate;
      }
      return new UnmodifiableListMultimap<>(delegate);
    }
docs: Returns an unmodifiable view of the specified {@code ListMultimap}. 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