guava/src/com/google/common/collect/ArrayTable.java
public V at(int rowIndex, int columnIndex) {
    // In GWT array access never throws IndexOutOfBoundsException.
    checkElementIndex(rowIndex, rowList.size());
    checkElementIndex(columnIndex, columnList.size());
    return array[rowIndex][columnIndex];
  }
public V at(int rowIndex, int columnIndex) {
    // In GWT array access never throws IndexOutOfBoundsException.
    checkElementIndex(rowIndex, rowList.size());
    checkElementIndex(columnIndex, columnList.size());
    return array[rowIndex][columnIndex];
  }
Returns the value corresponding to the specified row and column indices. The same value is
returned by {@code get(rowKeyList().get(rowIndex), columnKeyList().get(columnIndex))}, but this
method runs more quickly.

@param rowIndex position of the row key in {@link #rowKeyList()}
@param columnIndex position of the row key in {@link #columnKeyList()}
@return the value with the specified row and column
@throws IndexOutOfBoundsException if either index is negative, {@code rowIndex} is greater than
or equal to the number of allowed row keys, or {@code columnIndex} is greater than or equal
to the number of allowed column keys