@Override
  protected void process(ClusterDistributionManager dm) {
    switch (op) {
      case DRAIN_POOL:
        Assert.assertTrue(id != null);
        // wait 10 seconds for the high priority queue to drain
        long endTime = System.currentTimeMillis() + 10000;
        ThreadPoolExecutor pool =
            (ThreadPoolExecutor) dm.getExecutors().getHighPriorityThreadPool();
        while (pool.getActiveCount() > 1 && System.currentTimeMillis() < endTime) {
          boolean interrupted = Thread.interrupted();
          try {
            Thread.sleep(500);
          } catch (InterruptedException ie) {
            interrupted = true;
            dm.getCancelCriterion().checkCancelInProgress(ie);
            // if interrupted, we must be shutting down
            return;
          } finally {
            if (interrupted) {
              Thread.currentThread().interrupt();
            }
          }
        }
        if (pool.getActiveCount() > 1) {

          logger.warn(
              "{}: There are still {} other threads active in the high priority thread pool.",
              new Object[] {this, pool.getActiveCount() - 1});
        }
        ReplyMessage.send(getSender(), processorId, null, dm);
        break;
      case DUMP_STACK:
        if (processorId > 0) {
          try {
            byte[] zippedStacks = OSProcess.zipStacks();
            ReplyMessage.send(getSender(), processorId, zippedStacks, dm);
          } catch (IOException e) {
            ReplyMessage.send(getSender(), processorId, new ReplyException(e), dm);
          }
        } else {
          OSProcess.printStacks(0, useNative);
        }
    }
  }
Adds the distribution manager that is started up to the current DM's list of members.

This method is invoked on the receiver side
geode-core/src/main/java/org/apache/geode/distributed/internal/HighPriorityAckedMessage.java