@Override
  public boolean removeAll(@NotNull final Collection<?> c) {
    boolean removed = false;
    for (Object v : c) {
      // don't use short circuit, we need to evaluate all entries
      // we also need undo entries for each removed entry
      removed &= remove(v);
    }
    return removed;
  }
Create an UndoSet backed by another Set instance.

@param delegate The Set instance to use for backing storage
@param <V> The type of the collection.
@return an unduable set
evm/src/main/java/org/hyperledger/besu/collections/undo/UndoSet.java