android/guava/src/com/google/common/collect/Tables.java
public static <R, C, V> Table<R, C, V> unmodifiableTable(
      Table<? extends R, ? extends C, ? extends V> table) {
    return new UnmodifiableTable<>(table);
  }
public static <R, C, V> Table<R, C, V> unmodifiableTable(
      Table<? extends R, ? extends C, ? extends V> table) {
    return new UnmodifiableTable<>(table);
  }
public static < R , C , V > Table < R , C , V > unmodifiableTable ( Table < ? extends R , ? extends C , ? extends V > table ) { return new UnmodifiableTable <> ( table ) ; }
Returns an unmodifiable view of the specified table. This method allows modules to provide
users with "read-only" access to internal tables. Query operations on the returned table "read
through" to the specified table, and attempts to modify the returned table, whether direct or
via its collection views, result in an {@code UnsupportedOperationException}.

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

<p>Consider using an {@link ImmutableTable}, which is guaranteed never to change.

@since 11.0
Returns an unmodifiable view of the specified table . This method allows modules to provide users with read - only access to internal tables . Query operations on the returned table read through to the specified table and attempts to modify the returned table whether direct or via its collection views result in an { @code UnsupportedOperationException } .