@Override
    public boolean equals(Object other) {
        if (!(other instanceof ConfigModelBuilder<?> otherBuilder)) {
            return false;
        }
        List<ConfigModelId> thisIds = this.handlesElements();
        List<ConfigModelId> otherIds = otherBuilder.handlesElements();
        if (thisIds.size() != otherIds.size()) {
            return false;
        }
        for (int i = 0; i < thisIds.size(); i++) {
            if (!thisIds.get(i).equals(otherIds.get(i))) {
                return false;
            }
        }
        return true;
    }
Builds an instance of this component model.
This calls instantiate(...), instance.setUp(...), doBuild(instance, ...).

@param factory A factory capable of creating models.
@param spec the XML element this is constructed from
@param context A context object containing various data used by builders.
config-model/src/main/java/com/yahoo/config/model/builder/xml/ConfigModelBuilder.java