private SearcherRegistry setupSearcherRegistry(ComponentRegistry<? extends AbstractComponent> allComponents) {
        SearcherRegistry registry = new SearcherRegistry();
        for (AbstractComponent component : allComponents.allComponents()) {
            if (component instanceof Searcher) {
                registry.register((Searcher) component);
            }
        }
        //just freeze this right away
        registry.freeze();
        return registry;
    }
Contains a reference to all currently known search chains.
Searchers can be fetched from this from multiple threads.
<p>
A registry can exist in two states:
<ul>
<li>not frozen - in this state it can be edited freely by calling {@link #register}
<li>frozen - in this state any attempt at modification throws an IlegalStateException
</ul>
Registries start in the first state, moves to the second on calling freeze and stays in that
state for the rest of their lifetime.

@author bratseth
container-search/src/main/java/com/yahoo/search/searchchain/SearchChainRegistry.java