@Override
    protected FederationSearcher doBuild(DeployState deployState, TreeConfigProducer<AnyConfigProducer> ancestor, Element searcherElement) {
        FederationSearcherModel model = new FederationSearcherModelBuilder(searcherElement).build();
        Optional<Component> targetSelector = buildTargetSelector(deployState, ancestor, searcherElement, model.getComponentId());

        return new FederationSearcher(model, targetSelector);
    }
@Test
    void require_that_target_selector_can_be_configured() {
        FederationSearcher searcher = new DomFederationSearcherBuilder().doBuild(root.getDeployState(), root, parse(
                "<federation id='federation-id'>",
                "    <target-selector id='my-id' class='my-class' />",
                "</federation>"));

        String targetSelectorId = "my-id@federation-id";

        var targetSelector = searcher.getChildren().get(targetSelectorId);
        assertNotNull(targetSelector, "No target selector child found");

        FederationConfig.Builder builder = new FederationConfig.Builder();
        searcher.getConfig(builder);
        assertEquals(targetSelectorId, new FederationConfig(builder).targetSelector());
    }