public static SizeResponse send(Set recipients, PartitionedRegion r, ArrayList<Integer> bucketIds,
      boolean estimate) {
    Assert.assertTrue(recipients != null, "SizeMessage NULL recipients set");
    SizeResponse p = new SizeResponse(r.getSystem(), recipients);
    SizeMessage m = new SizeMessage(recipients, r.getPRId(), p, bucketIds, estimate);
    m.setTransactionDistributed(r.getCache().getTxManager().isDistributed());
    r.getDistributionManager().putOutgoing(m);
    return p;
  }
sends a message to the given recipients asking for the size of either their primary bucket
entries or the values sets of their primary buckets

@param recipients recipients of the message
@param r the local PartitionedRegion instance
@param bucketIds the buckets to look for, or null for all buckets
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/SizeMessage.java