@Override
  public void putAll(final Table<? extends R, ? extends C, ? extends V> table) {
    for (var cell : table.cellSet()) {
      V newV = cell.getValue();
      V oldV = delegate.put(cell.getRowKey(), cell.getColumnKey(), newV);
      if (!Objects.equals(oldV, newV)) {
        undoLog.add(new UndoEntry<>(cell.getRowKey(), cell.getColumnKey(), oldV));
      }
    }
  }
Protected constructor for UndoTable

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