embedded.add(new Child2());
input.setResult(embedded);
mapper.configure(SerializationConfig.Feature.USE_STATIC_TYPING, true);
JavaType rootType = TypeFactory.defaultInstance().constructType(new TypeReference<JSONResponse<List<Parent>>>() { });
byte[] json = mapper.writerWithType(rootType).writeValueAsBytes(input);
// byte[] json = mapper.writeValueAsBytes(input);
// System.out.println("After Serialization: " + new String(json));
JSONResponse<List<Parent>> out = mapper.readValue(json, 0, json.length, rootType);