Program: 101906
Project: 101906
Buggy source:
@Test public void parsesComplexMemberJsonWithIdObjects() throws Exception {
  GsonDocumentReader<Member2> _reader=new GsonDocumentReader<Member2>(new JsonDocumentDefinition<Member2>(){
{
      registerConverters(new ThreadSafeDateStringConverter("String_Node_Str"));
      mapping(Member2.class).with(object("String_Node_Str",Member2.Identifier.class).with(property("String_Node_Str")),property("String_Node_Str"),object("String_Node_Str",Member2.Person.class).with(object("String_Node_Str",Member2.Identifier.class).with(property("String_Node_Str")),property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str")),object("String_Node_Str",Member2.Social.class).with(property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str")),property("String_Node_Str"));
    }
  }
);
  Member2 _result=_reader.read(new InputStreamReader(getClass().getResourceAsStream("String_Node_Str")));
  Assert.assertNotNull(_result);
  Assert.assertEquals("String_Node_Str",_result.getId().toSerializedForm());
  Assert.assertEquals(new SimpleDateFormat("String_Node_Str").parse("String_Node_Str"),_result.getRegistrationDate());
  Member2.Person _person=_result.getPerson();
  Assert.assertNotNull(_person);
  Assert.assertEquals("String_Node_Str",_person.getId().toSerializedForm());
  Assert.assertEquals("String_Node_Str",_person.getFirstname());
  Assert.assertEquals("String_Node_Str",_person.getLastname());
  Assert.assertNull(_person.getEmail());
  Assert.assertNull(_person.getTitle());
  Member2.Social _social=_result.getSocial();
  Assert.assertNotNull(_social);
  Assert.assertEquals("String_Node_Str",_social.getProviderId());
  Assert.assertEquals("String_Node_Str",_social.getProviderUserId());
  Assert.assertEquals("String_Node_Str",_social.getImageUrl());
  Assert.assertEquals(50,_result.getPointsAccrued());
}

Fixed version (ground truth):
@Test public void parsesComplexMemberJsonWithIdObjects() throws Exception {
  GsonDocumentReader<Member2> _reader=new GsonDocumentReader<Member2>(new JsonDocumentDefinition<Member2>(){
{
      registerConverters(new ThreadSafeDateStringConverter("String_Node_Str"));
      mapping(Member2.class).with(object("String_Node_Str",Member2.Identifier.class).with(property("String_Node_Str")),property("String_Node_Str"),object("String_Node_Str",Member2.Person.class).with(object("String_Node_Str",Member2.Identifier.class).with(property("String_Node_Str")),property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str")),object("String_Node_Str",Member2.Social.class).with(property("String_Node_Str"),property("String_Node_Str"),property("String_Node_Str")),number("String_Node_Str",Integer.class));
    }
  }
);
  Member2 _result=_reader.read(new InputStreamReader(getClass().getResourceAsStream("String_Node_Str")));
  Assert.assertNotNull(_result);
  Assert.assertEquals("String_Node_Str",_result.getId().toSerializedForm());
  Assert.assertEquals(new SimpleDateFormat("String_Node_Str").parse("String_Node_Str"),_result.getRegistrationDate());
  Member2.Person _person=_result.getPerson();
  Assert.assertNotNull(_person);
  Assert.assertEquals("String_Node_Str",_person.getId().toSerializedForm());
  Assert.assertEquals("String_Node_Str",_person.getFirstname());
  Assert.assertEquals("String_Node_Str",_person.getLastname());
  Assert.assertNull(_person.getEmail());
  Assert.assertNull(_person.getTitle());
  Member2.Social _social=_result.getSocial();
  Assert.assertNotNull(_social);
  Assert.assertEquals("String_Node_Str",_social.getProviderId());
  Assert.assertEquals("String_Node_Str",_social.getProviderUserId());
  Assert.assertEquals("String_Node_Str",_social.getImageUrl());
  Assert.assertEquals(50,_result.getPointsAccrued());
}