public void verify(String id, String val) {
        if (stringDefs.containsKey(id)) {
            verifyString(id);
        } else if (enumDefs.containsKey(id)) {
            verifyEnum(id ,val);
        } else if (referenceDefs.containsKey(id)) {
            verifyReference(id);
        } else if (fileDefs.containsKey(id)) {
            verifyFile(id);
        } else if (pathDefs.containsKey(id)) {
            verifyPath(id);
        } else if (optionalPathDefs.containsKey(id)) {
            verifyOptionalPath(id);
        } else if (urlDefs.containsKey(id)) {
            verifyUrl(id);
        } else if (modelDefs.containsKey(id)) {
            verifyModel(id);
        } else if (boolDefs.containsKey(id)) {
            verifyBool(id, val);
        } else if (intDefs.containsKey(id)) {
            verifyInt(id, val);
        } else if (longDefs.containsKey(id)) {
            verifyLong(id, val);
        } else if (doubleDefs.containsKey(id)) {
            verifyDouble(id, val);
        } else if (structDefs.containsKey(id)) {
            verifyStruct(id);
        } else if (arrayDefs.containsKey(id)) {
            verifyArray(id);
        } else if (innerArrayDefs.containsKey(id)) {
            verifyInnerArray(id);
        } else if (leafMapDefs.containsKey(id)) {
		    verifyLeafMap(id);
        } else if (structMapDefs.containsKey(id)) {
            verifyStructMap(id);
        } else {
            throw new IllegalArgumentException("No such field in definition " + getRoot().getNamespace() + "." +
                                               getRoot().getName() + ": " + getAncestorString() + id);
        }
    }
Returns the root ConfigDefinition, might be this.
config/src/main/java/com/yahoo/vespa/config/ConfigDefinition.java