public String getConfigClass(String className) {
        return getHeader() + "\n\n" + //
                getRootClassDeclaration(root, className) + "\n\n" + //
                indentCode(INDENTATION, getFrameworkCode()) + "\n\n" + //
                ConfigGenerator.generateContent(INDENTATION, root, true) + "\n" + //
                "}\n";
    }
@Test
    void verify_generated_class_against_reference() throws IOException {
        String testDefinition = String.join("\n", Files.readAllLines(FileSystems.getDefault().getPath(DEF_NAME)));
        List<String> referenceClassLines = Files.readAllLines(FileSystems.getDefault().getPath(REFERENCE_NAME));

        DefParser parser = new DefParser("allfeatures", new StringReader(testDefinition));
        InnerCNode root = parser.getTree();
        JavaClassBuilder builder = new JavaClassBuilder(root, parser.getNormalizedDefinition(), null, null);
        String[] configClassLines = builder.getConfigClass("AllfeaturesConfig").split("\n");

        for (var line : configClassLines) {
            System.out.println(line);
        }
        for (int i = 0; i < referenceClassLines.size(); i++) {
            if (configClassLines.length <= i)
                fail("Missing lines in generated config class. First missing line:\n" + referenceClassLines.get(i));
            assertEquals(referenceClassLines.get(i), configClassLines[i], "Line " + i);
        }
    }