private void validateSourceGroups() {
        for (SourceGroup sourceGroup : sourceGroups.groups()) {
            sourceGroup.validate();

            if (getChainGroup().getComponentMap().containsKey(sourceGroup.getComponentId())) {
                throw new IllegalArgumentException("Id '" + sourceGroup.getComponentId() +
                                                   "' is used both for a source and another search chain/provider");
            }
        }
    }
Root config producer of the whole search chains model (contains searchchains and searchers).

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