guava/src/com/google/common/collect/ArrayTable.java
@CanIgnoreReturnValue
  public V erase(@Nullable Object rowKey, @Nullable Object columnKey) {
    Integer rowIndex = rowKeyToIndex.get(rowKey);
    Integer columnIndex = columnKeyToIndex.get(columnKey);
    if (rowIndex == null || columnIndex == null) {
      return null;
    }
    return set(rowIndex, columnIndex, null);
  }
@CanIgnoreReturnValue
  public V erase(@Nullable Object rowKey, @Nullable Object columnKey) {
    Integer rowIndex = rowKeyToIndex.get(rowKey);
    Integer columnIndex = columnKeyToIndex.get(columnKey);
    if (rowIndex == null || columnIndex == null) {
      return null;
    }
    return set(rowIndex, columnIndex, null);
  }
Associates the value {@code null} with the specified keys, assuming both keys are valid. If
either key is null or isn't among the keys provided during construction, this method has no
effect.

<p>This method is equivalent to {@code put(rowKey, columnKey, null)} when both provided keys
are valid.

@param rowKey row key of mapping to be erased
@param columnKey column key of mapping to be erased
@return the value previously associated with the keys, or {@code null} if no mapping existed
for the keys