public Node deserializeObject(JsonReader reader) {
        Log.info("Deserializing JSON to Node.");
        JsonObject jsonObject = reader.readObject();
        return deserializeObject(jsonObject);
    }
@Test
    void testJavaDocComment() {
        CompilationUnit cu = parse("public class X{ " + "     /**\n"
                + "     * Woke text.\n"
                + "     * @param a blub\n"
                + "     * @return true \n"
                + "     */"
                + "     public boolean test(int a) { return true; }\n"
                + "}");
        String serialized = serialize(cu, false);

        CompilationUnit deserialized =
                (CompilationUnit) deserializer.deserializeObject(Json.createReader(new StringReader(serialized)));
        ClassOrInterfaceDeclaration classDeclaration =
                deserialized.getClassByName("X").get();
        MethodDeclaration methodDeclaration = classDeclaration.getMethods().get(0);
        assertTrue(methodDeclaration.getJavadoc().isPresent());
        Javadoc javadoc = methodDeclaration.getJavadoc().get();

        JavadocBlockTag paramBlockTag = javadoc.getBlockTags().get(0);
        assertEquals("param", paramBlockTag.getTagName());
        assertEquals("blub", paramBlockTag.getContent().toText());

        JavadocBlockTag returnBlockTag = javadoc.getBlockTags().get(1);
        assertEquals("return", returnBlockTag.getTagName());
        assertEquals("true", returnBlockTag.getContent().toText());
    }