@SuppressWarnings({"unchecked", "SuspiciousMethodCalls"})
  @Override
  public boolean remove(final Object v) {
    int index = delegate.indexOf(v);
    if (index >= 0) {
      delegate.remove(index);
      undoLog.add(new UndoEntry<>(index, false, (V) v));
      return true;
    } else {
      return false;
    }
  }
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