@Override
  @CanIgnoreReturnValue
  @CheckForNull
  public V put(final R rowKey, final C columnKey, final V value) {
    V oldV = delegate.put(rowKey, columnKey, value);
    undoLog.add(new UndoEntry<>(rowKey, columnKey, oldV));
    return oldV;
  }
Protected constructor for UndoTable

@param delegate the table backing the undotable.
evm/src/main/java/org/hyperledger/besu/collections/undo/UndoTable.java