code: public <X extends Exception> void replaceIf(final Try.TriPredicate<R, C, E, X> predicate, final E newValue) throws X {
          checkFrozen();
  
          if (rowLength() > 0 && columnLength() > 0) {
              this.init();
  
              final int rowLength = rowLength();
              int columnIndex = 0;
              R rowKey = null;
              C columnKey = null;
              E val = null;
  
              for (List<E> column : _columnList) {
                  columnKey = _columnKeyIndexMap.getByValue(columnIndex);
  
                  for (int rowIndex = 0; rowIndex < rowLength; rowIndex++) {
                      rowKey = _rowKeyIndexMap.getByValue(rowIndex);
                      val = column.get(rowIndex);
  
                      if (predicate.test(rowKey, columnKey, val)) {
                          column.set(rowIndex, newValue);
                      }
                  }
  
                  columnIndex++;
              }
          }
      }
docs: Replace elements by <code>Predicate.test(i, j)</code> based on points
  
  @param predicate
  @param newValue