class YamlFrontMatterVisitor extends AbstractVisitor {
    private Map<String, List<String>> data;

    public YamlFrontMatterVisitor() {
        data = new LinkedHashMap<>();
    }

    @Override
    public void visit(CustomNode customNode) {<FILL_FUNCTION_BODY>}

    public Map<String, List<String>> getData() {
        return data;
    }
}

        if (customNode instanceof YamlFrontMatterNode) {
            data.put(((YamlFrontMatterNode) customNode).getKey(), ((YamlFrontMatterNode) customNode).getValues());
        } else {
            super.visit(customNode);
        }
    
<methods>public non-sealed void <init>() ,public void visit(org.commonmark.node.BlockQuote) ,public void visit(org.commonmark.node.BulletList) ,public void visit(org.commonmark.node.Code) ,public void visit(org.commonmark.node.Document) ,public void visit(org.commonmark.node.Emphasis) ,public void visit(org.commonmark.node.FencedCodeBlock) ,public void visit(org.commonmark.node.HardLineBreak) ,public void visit(org.commonmark.node.Heading) ,public void visit(org.commonmark.node.ThematicBreak) ,public void visit(org.commonmark.node.HtmlInline) ,public void visit(org.commonmark.node.HtmlBlock) ,public void visit(org.commonmark.node.Image) ,public void visit(org.commonmark.node.IndentedCodeBlock) ,public void visit(org.commonmark.node.Link) ,public void visit(org.commonmark.node.ListItem) ,public void visit(org.commonmark.node.OrderedList) ,public void visit(org.commonmark.node.Paragraph) ,public void visit(org.commonmark.node.SoftLineBreak) ,public void visit(org.commonmark.node.StrongEmphasis) ,public void visit(org.commonmark.node.Text) ,public void visit(org.commonmark.node.LinkReferenceDefinition) ,public void visit(org.commonmark.node.CustomBlock) ,public void visit(org.commonmark.node.CustomNode) <variables>