Program: 32618
Project: 32618
Buggy source:
/** 
 * Verifies that multiple sources work.
 */
public void testMultipleSources(){
  List<String> fastFoodVerify=new ArrayList<String>();
  EventList<String> wendys=new BasicEventList<String>();
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  EventList<String> mcDonalds=new BasicEventList<String>();
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  EventList<String> tacoBell=new BasicEventList<String>();
  tacoBell.add("String_Node_Str");
  tacoBell.add("String_Node_Str");
  CompositeList<String> fastFood=new CompositeList<String>();
  ListConsistencyListener.install(fastFood);
  fastFood.addMemberList(wendys);
  fastFood.addMemberList(mcDonalds);
  fastFood.addMemberList(tacoBell);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  wendys.remove(1);
  fastFood.set(0,"String_Node_Str");
  fastFood.remove(1);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  mcDonalds.add("String_Node_Str");
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  fastFood.removeMemberList(mcDonalds);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
}

Fixed version (ground truth):
/** 
 * Verifies that multiple sources work.
 */
public void testMultipleSources(){
  CompositeList<String> fastFood=new CompositeList<String>();
  ListConsistencyListener.install(fastFood);
  List<String> fastFoodVerify=new ArrayList<String>();
  EventList<String> wendys=fastFood.createMemberList();
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  EventList<String> mcDonalds=fastFood.createMemberList();
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  mcDonalds.add("String_Node_Str");
  EventList<String> tacoBell=fastFood.createMemberList();
  tacoBell.add("String_Node_Str");
  tacoBell.add("String_Node_Str");
  fastFood.addMemberList(wendys);
  fastFood.addMemberList(mcDonalds);
  fastFood.addMemberList(tacoBell);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  wendys.add("String_Node_Str");
  wendys.add("String_Node_Str");
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  wendys.remove(1);
  fastFood.set(0,"String_Node_Str");
  fastFood.remove(1);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  mcDonalds.add("String_Node_Str");
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(mcDonalds);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
  fastFood.removeMemberList(mcDonalds);
  fastFoodVerify.clear();
  fastFoodVerify.addAll(wendys);
  fastFoodVerify.addAll(tacoBell);
  assertEquals(fastFoodVerify,fastFood);
}