private boolean needsMoreFill(Set<String> alreadyFilled) {
        // unfillable?
        if (alreadyFilled == null) return false;

        // do we already have the entire thing?
        if (alreadyFilled.contains(askForSummary)) return false;
        // do we already have the entire subset?
        for (var marker : fillMarkers) {
            if (alreadyFilled.contains(marker)) return false;
        }

        // no, see what we have got:
        var gotFields = fieldsAlreadyFilled(alreadyFilled);

        // check if got covers all that we want:
        var wantFields = (askForFields == null ? getFieldsForClass(askForSummary) : askForFields);
        for (String field : wantFields) {
            if (! gotFields.contains(field)) {
                // need this field
                return true;
            }
        }
        // we have everything needed
        return false;
    }
resolve summary class to use when none provided
container-search/src/main/java/com/yahoo/prelude/fastsearch/PartialSummaryHandler.java