code: @CanIgnoreReturnValue
    @Override
    public V put(R rowKey, C columnKey, @NullableDecl V value) {
      checkNotNull(rowKey);
      checkNotNull(columnKey);
      Integer rowIndex = rowKeyToIndex.get(rowKey);
      checkArgument(rowIndex != null, "Row %s not in %s", rowKey, rowList);
      Integer columnIndex = columnKeyToIndex.get(columnKey);
      checkArgument(columnIndex != null, "Column %s not in %s", columnKey, columnList);
      return set(rowIndex, columnIndex, value);
    }
docs: {@inheritDoc}
  
  @throws IllegalArgumentException if {@code rowKey} is not in {@link #rowKeySet()} or {@code
  columnKey} is not in {@link #columnKeySet()}.