void parse() throws IOException, DefParserException {
        root = new InnerCNode(name);
        normalizedDefinition = new NormalizedDefinition();

        String s;
        List<String> originalInput = new ArrayList<>();
        while ((s = reader.readLine()) != null) {
            originalInput.add(s);
        }
        reader.close();


        // Parse and build tree of the original input
        parseLines(root, originalInput, normalizedDefinition);
        root.setMd5(normalizedDefinition.generateMd5Sum());
    }
@Test
    void testInvalidCommaInEnum() throws DefParser.DefParserException, IOException {
        assertThrows(DefParser.DefParserException.class, () -> {
            String invalidEnum = "anEnum enum {A, B, } default=A\n";
            String validEnum = "anotherEnum enum {A, B} default=A\n";
            StringBuilder sb = createDefTemplate();
            sb.append(invalidEnum);
            sb.append(validEnum);
            DefParser parser = createParser(sb.toString());
            parser.parse();
        });
    }