code: public static <R> ImmutableCell<R> of(int row, int column, R value) {
          if (row < 0) {
              throw new IndexOutOfBoundsException("Row must not be negative: " + row + " < 0");
          }
          if (column < 0) {
              throw new IndexOutOfBoundsException("Column must not be negative: " + column + " < 0");
          }
          if (value == null) {
              throw new IllegalArgumentException("Value must not be null");
          }
          return new ImmutableCell<R>(row, column, value);
      }
docs: Obtains an instance of {@code Cell}.
  
  @param <R> the type of the value
  @param row  the row, zero or greater
  @param column  the column, zero or greater
  @param value  the value to put into the grid, not null
  @return the immutable cell, not null
  @throws IndexOutOfBoundsException if either index is less than zero