@Override
    protected Searcher<ChainedComponentModel> doBuild(DeployState deployState, TreeConfigProducer<AnyConfigProducer> ancestor, Element searcherElement) {
        ChainedComponentModelBuilder modelBuilder = new ChainedComponentModelBuilder(searcherElement);
        return new Searcher<>(modelBuilder.build());
    }
@Test
    void ensureCorrectModel() {
        ChainedComponent<ChainedComponentModel> searcher = new DomSearcherBuilder().doBuild(root.getDeployState(), root, parse(
                "<searcher id='theId' class='theclassid' bundle='thebundle' provides='p1'>",
                "    <provides>p2</provides>",
                "</searcher>"));

        ChainedComponentModel model = searcher.model;
        assertEquals(2, model.dependencies.provides().size());

        BundleInstantiationSpecification instantiationSpecification = model.bundleInstantiationSpec;
        assertEquals("theId", instantiationSpecification.id.stringValue());
        assertEquals("theclassid", instantiationSpecification.classId.stringValue());
        assertEquals("thebundle", instantiationSpecification.bundle.stringValue());
    }