@Override
  public void addResult(DistributedMember memId, Object resultOfSingleExecution) {
    if (!endResultReceived) {
      if (!(userRC instanceof LocalResultCollectorImpl)
          && resultOfSingleExecution instanceof InternalFunctionException) {
        resultOfSingleExecution = ((InternalFunctionException) resultOfSingleExecution).getCause();
      }
      userRC.addResult(memId, resultOfSingleExecution);
    }
  }
Contract of {@link ReplyProcessor21#stillWaiting()} is that it never returns true after
returning false.
geode-core/src/main/java/org/apache/geode/internal/cache/partitioned/PRFunctionStreamingResultCollector.java