public void add(Source source) {
        if ( ! source.getComponentId().equals(getComponentId()))
            throw new IllegalStateException("Ids differ: " + source.getComponentId() + " and " + getComponentId());

        if (Source.GroupOption.leader == source.groupOption) {
            setLeader(source);
        } else {
            addParticipant(source);
        }
    }
A set of sources with the same name, each associated with a different provider, that fills the same role.

@author Tony Vaagenes
config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SourceGroup.java