protected void waitForAckIfNeeded(
      Map<InternalDistributedMember, PersistentMemberID> persistentIds) {
    if (processor == null) {
      return;
    }
    try {
      // keep waiting even if interrupted
      try {
        processor.waitForRepliesUninterruptibly();
        Set<InternalDistributedMember> closedMembers = processor.closedMembers.getSnapshot();
        handleClosedMembers(closedMembers, persistentIds);
      } catch (ReplyException e) {
        if (this instanceof DestroyRegionOperation) {
          logger.fatal("waitForAckIfNeeded: exception", e);
        }
        e.handleCause();
      }
    } finally {
      processor = null;
    }
  }
perform any operation-specific initialization on the given reply processor
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java