protected void sendReply(InternalDistributedMember member, int procId, DistributionManager dm,
      ReplyException ex, PartitionedRegion pr, long startTime) {
    if (pr != null && startTime > 0) {
      pr.getPrStats().endPartitionMessagesProcessing(startTime);
    }

    ReplyMessage.send(member, procId, ex, getReplySender(dm), pr != null && pr.isInternalRegion());
  }
Send a generic ReplyMessage. This is in a method so that subclasses can override the reply
message type

@param pr the Partitioned Region for the message whose statistics are incremented
@param startTime the start time of the operation in nanoseconds
@see PutMessage#sendReply
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PartitionMessage.java