@Override
    protected void getFillResults(Result result, String summaryClass) {
        if (partialSummaryHandler.resultAlreadyFilled()) {
            if (outstandingResponses == 0) {
                for (Hit hit : (Iterable<Hit>) result.hits()::unorderedDeepIterator) {
                    if (hit.isFillable() && hit instanceof FastHit fastHit) {
                        partialSummaryHandler.markFilled(hit);
                    }
                }
                return;
            } else {
                // should never happen
                log.log(Level.SEVERE, "result was already filled, but there are "
                        + outstandingResponses + " outstanding responses");
            }
        }
        try {
            processResponses(result, summaryClass);
            result.hits().setSorted(false);
            result.analyzeHits();
        } catch (TimeoutException e) {
            result.hits().addError(ErrorMessage.createTimeout("Summary data is incomplete: " + e.getMessage()));
        }
    }
The number of responses we should receive (and process) before this is complete
container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcProtobufFillInvoker.java