public void lastResult(Object oneResult, boolean completelyDone, ResultCollector reply,
      DistributedMember memberID) {
    if (serverSender != null) { // Client-Server
      if (completelyDone) {
        if (onlyRemote) {
          serverSender.lastResult(oneResult, memberID);
          reply.endResults();
        } else {
          lastResult(oneResult, reply, true, false, memberID);
        }
      } else {
        serverSender.sendResult(oneResult, memberID);
      }
    } else { // P2P
      if (completelyDone) {
        if (onlyRemote) {
          reply.addResult(memberID, oneResult);
          reply.endResults();
        } else {
          // call a synchronized method as local node is also waiting to send lastResult
          lastResult(oneResult, reply, true, false, memberID);
        }
      } else {
        reply.addResult(memberID, oneResult);
      }
      FunctionStatsManager.getFunctionStats(function.getId(), dm.getSystem())
          .incResultsReceived();
    }
    FunctionStatsManager.getFunctionStats(function.getId(), dm.getSystem())
        .incResultsReturned();
  }
Have to combine next two construcotr in one and make a new class which will send Results back.
geode-core/src/main/java/org/apache/geode/internal/cache/execute/MemberFunctionResultSender.java