public KnownVersion getClientVersion() {
    if (serverSender != null && serverSender.sc != null) { // is a client-server connection
      return serverSender.sc.getClientVersion();
    }
    return null;
  }
ResultSender needs ResultCollector in which to add results one by one. In case of localExecution
it just adds result to the resultCollector whereas for remote cases it takes help of
PRFunctionExecutionStreamer to send results to the calling node. The results will be received in
the ResultReceiver. ResultSender will be instantiated in executeOnDatastore and set in
FunctionContext.
geode-core/src/main/java/org/apache/geode/internal/cache/execute/PartitionedRegionFunctionResultSender.java