// TODO I'm creating a new object mapper here because my original mapper has an instance of the deserializer
// associated with it. Therefore, if I try to read the value using codec, I'll get an infinite loop (it'll come
// back here).
ObjectMapper mapper = new ObjectMapper();
Student student = mapper.readValue(node, Student.class);
// Apply nested properties by hand
JsonNode locationNode = node.get("location");
JsonNode nameNode = node.get("name");
student.setHispanicEthnicity(node.get("hispanic_ethnicity").getTextValue() == "Y");
student.setPostalCode(locationNode.get("zip").getTextValue());
student.setFirstName(nameNode.get("first").getTextValue());
student.setMiddleInitial(nameNode.get("middle").getTextValue());
student.setLastName(nameNode.get("last").getTextValue());
return student;
}