@Override
    protected void sendReply(InternalDistributedMember member, int procId, DistributionManager dm,
        ReplyException ex, PartitionedRegion pr, long startTime) {
      // if there was an exception, then throw out any data
      if (ex != null) {
        outStream = null;
        replyMsgNum = 0;
        replyLastMsg = true;
      }
      if (replyLastMsg) {
        if (pr != null && startTime > 0) {
          pr.getPrStats().endPartitionMessagesProcessing(startTime);
        }
      }
      StreamingReplyMessage.send(member, procId, ex, dm, outStream, numObjectsInChunk,
          replyMsgNum, replyLastMsg);
    }
send a reply message. This is in a method so that subclasses can override the reply message
type

@see PutMessage#sendReply
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/StreamingPartitionOperation.java