public Map<InternalDistributedMember, byte[]> dumpStacks(Set recipients,
      @SuppressWarnings("hiding") boolean useNative, boolean returnStacks) {
    op = operationType.DUMP_STACK;
    this.useNative = useNative;
    Set recips = new HashSet(recipients);
    DistributedMember me = originDm.getDistributionManagerId();
    recips.remove(me);
    CollectingReplyProcessor<byte[]> cp = null;
    if (returnStacks) {
      cp = new CollectingReplyProcessor<>(originDm, recips);
      processorId = cp.getProcessorId();
    }
    originDm.putOutgoing(this);
    if (cp != null) {
      try {
        cp.waitForReplies();
      } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
      }
      return cp.getResults();
    }
    return null;
  }
Request stack dumps. This does not wait for responses. If useNative is true we attempt to use
OSProcess native code and null is returned. Otherwise we use a thread mx bean to generate the
traces. If returnStacks is true the stacks are not logged but are returned in a map in gzipped
form.
geode-core/src/main/java/org/apache/geode/distributed/internal/HighPriorityAckedMessage.java