public static ReplyProcessor21 send(Set recipients, DistributionManager dm, int prId,
      Map<Integer, BucketAdvisor.BucketProfile> profiles) {
    if (recipients.isEmpty()) {
      return null;
    }
    ReplyProcessor21 rp = null;
    int procId = 0;
    rp = new ReplyProcessor21(dm, recipients);
    procId = rp.getProcessorId();
    AllBucketProfilesUpdateMessage m =
        new AllBucketProfilesUpdateMessage(recipients, prId, procId, profiles);
    dm.putOutgoing(m);
    return rp;
  }
Send a profile update to a set of members.

@param recipients the set of members to be notified
@param dm the distribution manager used to send the message
@param prId the unique partitioned region identifier
@param profiles bucked id to profile map
@return an instance of reply processor if requireAck is true on which the caller can wait until
        the event has finished.
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/AllBucketProfilesUpdateMessage.java