Program: 80480
Project: 80480
Buggy source:
/** 
 * CONTAINS 
 */
@Test public void testDomainQuery_Collections_09(){
  IDomainAccess da1;
  DomainQuery q;
  DomainQueryResult result=null;
  boolean equals;
  String testId;
  String qCypher;
  Population population=new Population();
  population.createPopulation();
  da1=DomainAccessFactory.createDomainAccess(dbAccess,domainName);
  testId="String_Node_Str";
  queriesStream.reset();
  q=da1.createQuery();
  DomainObjectMatch<Person> j_smith=q.createMatch(Person.class);
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  DomainObjectMatch<PointOfContact> poc=q.TRAVERSE_FROM(j_smith).FORTH("String_Node_Str").TO(PointOfContact.class);
  DomainObjectMatch<AbstractArea> areas_1=q.TRAVERSE_FROM(j_smith).FORTH("String_Node_Str").FORTH("String_Node_Str").TO(AbstractArea.class);
  DomainObjectMatch<AbstractArea> areas_2=q.TRAVERSE_FROM(areas_1).FORTH("String_Node_Str").DISTANCE(0,-1).TO(AbstractArea.class);
  result=q.execute();
  List<AbstractArea> areas_1Result=result.resultOf(areas_1);
  List<AbstractArea> areas_2Result=result.resultOf(areas_2);
  List<PointOfContact> pocResult=result.resultOf(poc);
  return;
}

Fixed version (ground truth):
/** 
 * CONTAINS 
 */
@Test public void testDomainQuery_Collections_09(){
  IDomainAccess da1;
  DomainQuery q;
  DomainQueryResult result=null;
  boolean equals;
  String testId;
  String qCypher;
  Population population=new Population();
  population.createPopulation();
  da1=DomainAccessFactory.createDomainAccess(dbAccess,domainName);
  testId="String_Node_Str";
  queriesStream.reset();
  q=da1.createQuery();
  DomainObjectMatch<Person> subjects=q.createMatch(Person.class);
  DomainObjectMatch<Area> europe=q.createMatch(Area.class);
  DomainObjectMatch<Person> j_smith=q.createMatch(Person.class);
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  q.WHERE(europe.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  DomainObjectMatch<Object> addresses=q.TRAVERSE_FROM(subjects).FORTH("String_Node_Str").TO(Object.class);
  DomainObjectMatch<AbstractArea> areas=q.TRAVERSE_FROM(subjects).FORTH("String_Node_Str").FORTH("String_Node_Str").FORTH("String_Node_Str").DISTANCE(0,-1).TO(AbstractArea.class);
  DomainObjectMatch<AbstractArea> areas_1=q.TRAVERSE_FROM(j_smith).FORTH("String_Node_Str").FORTH("String_Node_Str").FORTH("String_Node_Str").DISTANCE(0,-1).TO(AbstractArea.class);
  DomainObjectMatch<Person> num_addresses=q.SELECT_FROM(subjects).ELEMENTS(q.WHERE(addresses.COUNT()).EQUALS(4),q.WHERE(areas.COUNT()).EQUALS(9));
  result=q.execute();
  List<Person> num_addressesResult=result.resultOf(num_addresses);
  List<AbstractArea> areas_1Result=result.resultOf(areas_1);
  testId="String_Node_Str";
  queriesStream.reset();
  q=da1.createQuery();
  subjects=q.createMatch(Person.class);
  europe=q.createMatch(Area.class);
  j_smith=q.createMatch(Person.class);
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  q.WHERE(j_smith.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  q.WHERE(europe.atttribute("String_Node_Str")).EQUALS("String_Node_Str");
  addresses=q.TRAVERSE_FROM(subjects).FORTH("String_Node_Str").TO(Object.class);
  areas=q.TRAVERSE_FROM(subjects).FORTH("String_Node_Str").FORTH("String_Node_Str").FORTH("String_Node_Str").DISTANCE(0,-1).TO(AbstractArea.class);
  areas_1=q.TRAVERSE_FROM(j_smith).FORTH("String_Node_Str").FORTH("String_Node_Str").FORTH("String_Node_Str").DISTANCE(0,-1).TO(AbstractArea.class);
  num_addresses=q.SELECT_FROM(subjects).ELEMENTS(q.WHERE(addresses.atttribute("String_Node_Str")).EQUALS(20),q.BR_OPEN(),q.WHERE(addresses.COUNT()).EQUALS(4),q.OR(),q.WHERE(areas.COUNT()).EQUALS(8),q.BR_CLOSE());
  result=q.execute();
  num_addressesResult=result.resultOf(num_addresses);
  areas_1Result=result.resultOf(areas_1);
  return;
}