public void send(Set recipients, boolean multicast) throws InterruptedException, ReplyException {
    if (Thread.interrupted()) {
      throw new InterruptedException();
    }
    op = operationType.DRAIN_POOL;
    Set recips = new HashSet(recipients);
    DistributedMember me = originDm.getDistributionManagerId();
    recips.remove(me);
    rp = new ReplyProcessor21(originDm, recips);
    processorId = rp.getProcessorId();
    setRecipients(recips);
    setMulticast(multicast);
    originDm.putOutgoing(this);

    rp.waitForReplies();
  }
send the message and wait for replies

@param recipients the destination manager ids
@param multicast whether to use multicast or unicast
@throws InterruptedException if the operation is interrupted (as by shutdown)
@throws ReplyException if an exception was sent back by another manager
geode-core/src/main/java/org/apache/geode/distributed/internal/HighPriorityAckedMessage.java