Program: 40233
Project: 40233
Buggy source:
@Test public void testLoadSelectedAssociationColumns(){
  Session session=openSession();
  final Transaction transaction=session.getTransaction();
  transaction.begin();
  Module mongodb=new Module();
  mongodb.setName("String_Node_Str");
  session.persist(mongodb);
  Module infinispan=new Module();
  infinispan.setName("String_Node_Str");
  session.persist(infinispan);
  List<Module> modules=new ArrayList<Module>();
  modules.add(mongodb);
  modules.add(infinispan);
  Project hibernateOGM=new Project();
  hibernateOGM.setId("String_Node_Str");
  hibernateOGM.setName("String_Node_Str");
  hibernateOGM.setModules(modules);
  session.persist(hibernateOGM);
  transaction.commit();
  this.addExtraColumn();
  AssociationKeyMetadata metadata=new AssociationKeyMetadata("String_Node_Str",new String[]{"String_Node_Str"},new String[]{"String_Node_Str","String_Node_Str"});
  AssociationKey associationKey=new AssociationKey(metadata,new Object[]{"String_Node_Str"},"String_Node_Str",new EntityKey(new EntityKeyMetadata("String_Node_Str",new String[]{"String_Node_Str"}),new String[]{"String_Node_Str"}),AssociationKind.ASSOCIATION);
  AssociationContext associationContext=new AssociationContext(OptionsContextImpl.forProperty(OptionValueSources.getDefaultSources(new ConfigurationPropertyReader(sessions.getProperties(),new ClassLoaderServiceImpl())),Project.class,"String_Node_Str"));
  final Association association=getService(GridDialect.class).getAssociation(associationKey,associationContext);
  final MongoDBAssociationSnapshot associationSnapshot=(MongoDBAssociationSnapshot)association.getSnapshot();
  final DBObject assocObject=associationSnapshot.getDBObject();
  this.checkLoading(assocObject);
  session.delete(mongodb);
  session.delete(infinispan);
  session.delete(hibernateOGM);
  session.close();
}

Fixed version (ground truth):
@Test public void testLoadSelectedAssociationColumns(){
  Session session=openSession();
  final Transaction transaction=session.getTransaction();
  transaction.begin();
  Module mongodb=new Module();
  mongodb.setName("String_Node_Str");
  session.persist(mongodb);
  Module infinispan=new Module();
  infinispan.setName("String_Node_Str");
  session.persist(infinispan);
  List<Module> modules=new ArrayList<Module>();
  modules.add(mongodb);
  modules.add(infinispan);
  Project hibernateOGM=new Project();
  hibernateOGM.setId("String_Node_Str");
  hibernateOGM.setName("String_Node_Str");
  hibernateOGM.setModules(modules);
  session.persist(hibernateOGM);
  transaction.commit();
  this.addExtraColumn();
  AssociationKeyMetadata metadata=new AssociationKeyMetadata("String_Node_Str",new String[]{"String_Node_Str"},new String[]{"String_Node_Str","String_Node_Str"},ArrayHelper.EMPTY_STRING_ARRAY,new EntityKeyMetadata("String_Node_Str",new String[]{"String_Node_Str"}),new String[]{"String_Node_Str"});
  AssociationKey associationKey=new AssociationKey(metadata,new Object[]{"String_Node_Str"},"String_Node_Str",new EntityKey(new EntityKeyMetadata("String_Node_Str",new String[]{"String_Node_Str"}),new String[]{"String_Node_Str"}),AssociationKind.ASSOCIATION);
  AssociationContext associationContext=new AssociationContext(OptionsContextImpl.forProperty(OptionValueSources.getDefaultSources(new ConfigurationPropertyReader(sessions.getProperties(),new ClassLoaderServiceImpl())),Project.class,"String_Node_Str"));
  final Association association=getService(GridDialect.class).getAssociation(associationKey,associationContext);
  final MongoDBAssociationSnapshot associationSnapshot=(MongoDBAssociationSnapshot)association.getSnapshot();
  final DBObject assocObject=associationSnapshot.getDBObject();
  this.checkLoading(assocObject);
  session.delete(mongodb);
  session.delete(infinispan);
  session.delete(hibernateOGM);
  session.close();
}