private void sendManageBackupBucketReplyMessage(ClusterDistributionManager dm,
      PartitionedRegion partitionedRegion, long startTime, ReplyType type) {
    partitionedRegion.getPrStats().endPartitionMessagesProcessing(startTime);
    switch (type) {
      case INITIALIZING:
        ManageBackupBucketReplyMessage.sendStillInitializing(getSender(), getProcessorId(), dm);
        break;
      case FAIL:
        ManageBackupBucketReplyMessage.sendRefusal(getSender(), getProcessorId(), dm);
        break;
      case SUCCESS:
        ManageBackupBucketReplyMessage.sendAcceptance(getSender(), getProcessorId(), dm);
        break;
      default:
        throw new RuntimeException("unreachable");
    }
  }
This method is called upon receipt and make the desired changes to the PartitionedRegion Note:
It is very important that this message does NOT cause any deadlocks as the sender will wait
indefinitely for the acknowledgement
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/ManageBackupBucketMessage.java