public Node deserializeObject(JsonReader reader) {
        Log.info("Deserializing JSON to Node.");
        JsonObject jsonObject = reader.readObject();
        return deserializeObject(jsonObject);
    }
@Test
    void testAttachingSymbolResolver() {
        SymbolResolver stubResolver = new SymbolResolver() {
            @Override
            public <T> T resolveDeclaration(Node node, Class<T> resultClass) {
                return null;
            }

            @Override
            public <T> T toResolvedType(Type javaparserType, Class<T> resultClass) {
                return null;
            }

            @Override
            public ResolvedType calculateType(Expression expression) {
                return null;
            }

            @Override
            public ResolvedReferenceTypeDeclaration toTypeDeclaration(Node node) {
                return null;
            }
        };
        StaticJavaParser.getConfiguration().setSymbolResolver(stubResolver);
        CompilationUnit cu = parse("public class X{} class Z{}");
        String serialized = serialize(cu, false);

        CompilationUnit deserialized =
                (CompilationUnit) deserializer.deserializeObject(Json.createReader(new StringReader(serialized)));
        assertTrue(deserialized.containsData(Node.SYMBOL_RESOLVER_KEY));
        assertEquals(stubResolver, deserialized.getData(Node.SYMBOL_RESOLVER_KEY));
    }