public static <T> String render(ClassPluginDocumentation<T> classPluginDocumentation) throws IOException {
        return render("task", JacksonMapper.toMap(classPluginDocumentation));
    }
@SuppressWarnings({"rawtypes", "unchecked"})
    @Test
    void returnDoc() throws IOException {
        PluginScanner pluginScanner = new PluginScanner(ClassPluginDocumentationTest.class.getClassLoader());
        RegisteredPlugin scan = pluginScanner.scan();
        Class returnTask = scan.findClass(Return.class.getName()).orElseThrow();

        ClassPluginDocumentation<? extends Task> doc = ClassPluginDocumentation.of(jsonSchemaGenerator, scan, returnTask, Task.class);

        String render = DocumentationGenerator.render(doc);

        assertThat(render, containsString("Return a value for debugging purposes."));
        assertThat(render, containsString("is mostly useful"));
        assertThat(render, containsString("## Metrics"));
        assertThat(render, containsString("### `length`\n" + "* **Type:** ==counter== "));
        assertThat(render, containsString("### `duration`\n" + "* **Type:** ==timer== "));
    }