@Override
  public V set(final int index, final V element) {
    V oldValue = delegate.set(index, element);
    undoLog.add(new UndoEntry<>(index, true, oldValue));
    return oldValue;
  }
Create an UndoList backed by another List instance.

@param delegate The List instance to use for backing storage
evm/src/main/java/org/hyperledger/besu/collections/undo/UndoList.java