@Override
    public void render(Node node, Appendable output) {
        RendererContext context = new RendererContext(new MarkdownWriter(output));
        context.render(node);
    }
@Test
    public void testEmphasis() {
        assertRoundTrip("*foo*\n");
        assertRoundTrip("foo*bar*\n");
        // When nesting, a different delimiter needs to be used
        assertRoundTrip("*_foo_*\n");
        assertRoundTrip("*_*foo*_*\n");
        assertRoundTrip("_*foo*_\n");

        // Not emphasis (needs * inside words)
        assertRoundTrip("foo\\_bar\\_\n");

        // Even when rendering a manually constructed tree, the emphasis delimiter needs to be chosen correctly.
        Document doc = new Document();
        Paragraph p = new Paragraph();
        doc.appendChild(p);
        Emphasis e1 = new Emphasis();
        p.appendChild(e1);
        Emphasis e2 = new Emphasis();
        e1.appendChild(e2);
        e2.appendChild(new Text("hi"));
        assertEquals("*_hi_*\n", render(doc));
    }