@Override
    public DocStringType docStringType() {
        return docStringType;
    }
@Test
    public void correct_conversion_is_used_for_simple_and_complex_return_types() throws NoSuchMethodException {
        Method simpleMethod = JavaDocStringTypeDefinitionTest.class.getMethod("converts_string_to_simple_type",
            String.class);
        JavaDocStringTypeDefinition simpleDefinition = new JavaDocStringTypeDefinition("text/plain", simpleMethod,
            lookup);
        registry.defineDocStringType(simpleDefinition.docStringType());

        Method complexMethod = JavaDocStringTypeDefinitionTest.class.getMethod("converts_string_to_complex_type",
            String.class);
        JavaDocStringTypeDefinition complexDefinition = new JavaDocStringTypeDefinition("text/plain", complexMethod,
            lookup);
        registry.defineDocStringType(complexDefinition.docStringType());

        Type simpleType = Map.class;
        assertThat(converter.convert(docString, simpleType), hasEntry("some_simple_type", Collections.emptyMap()));
        Type complexType = new TypeReference<Map<String, Map<String, String>>>() {
        }.getType();
        assertThat(converter.convert(docString, complexType), hasEntry("some_complex_type", Collections.emptyMap()));
    }