@Override
    public void process(boolean validate, boolean documentsOnly) {
        if ( ! validate) return;

        for (DocumentSummary summary : schema.getSummaries().values()) {
            for (SummaryField summaryField : summary.getSummaryFields().values()) {
                if (summaryField.getSources().isEmpty()) {
                    if ((summaryField.getTransform() != SummaryTransform.RANKFEATURES) &&
                        (summaryField.getTransform() != SummaryTransform.SUMMARYFEATURES))
                    {
                        verifySource(summaryField.getName(), summaryField, summary);
                    }
                } else if (summaryField.getSourceCount() == 1) {
                    verifySource(summaryField.getSingleSource(), summaryField, summary);
                } else {
                    for (SummaryField.Source source : summaryField.getSources()) {
                        if ( ! source.getName().equals(summaryField.getName()) ) {
                            verifySource(source.getName(), summaryField, summary);
                        }
                    }
                }
            }
        }

    }
Verifies that the source fields actually refers to a valid field.

@author baldersheim
config-model/src/main/java/com/yahoo/schema/processing/SummaryFieldsMustHaveValidSource.java