@Override
  public void postRemoveAll(final DistributedRemoveAllOperation op,
      final VersionedObjectList successfulOps, InternalRegion reg) {
    final InternalRegion theRegion;
    if (reg instanceof BucketRegion) {
      theRegion = ((BucketRegion) reg).getPartitionedRegion();
    } else {
      theRegion = reg;
    }
    /*
     * Don't fire events here. We are on the data store, we don't need to do anything here. Commit
     * will push them out. We need to put this into the tx state.
     */
    theRegion.syncBulkOp(() -> {
      InternalDistributedMember myId =
          theRegion.getDistributionManager().getDistributionManagerId();
      for (int i = 0; i < op.removeAllDataSize; ++i) {
        @Released
        EntryEventImpl ev = RemoveAllPRMessage.getEventFromEntry(theRegion, myId, myId, i,
            op.removeAllData, false, op.getBaseEvent().getContext(), false,
            !op.getBaseEvent().isGenerateCallbacks());
        ev.setRemoveAllOperation(op);
        try {
          theRegion.basicDestroy(ev, true/* should we invoke cacheWriter? */, null);
        } catch (EntryNotFoundException ignore) {
        } finally {
          ev.release();
        }
        successfulOps.addKeyAndVersion(op.removeAllData[i].key, null);
      }
    }, op.getBaseEvent().getEventId());

  }
throws an exception when cloning is disabled while using delta
geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java