Program: 56498
Project: 56498
Buggy source:
protected void autoFilter(NBook book){
  NAutoFilter filter1=book.getSheetByName("String_Node_Str").getAutoFilter();
  assertEquals("String_Node_Str",filter1.getRegion().getReferenceString());
  assertEquals(1,filter1.getFilterColumns().size());
  assertEquals(FilterOp.VALUES,filter1.getFilterColumn(0,false).getOperator());
  assertEquals(1,filter1.getFilterColumn(0,false).getFilters().size());
  assertEquals(1,filter1.getFilterColumn(0,false).getCriteria1().size());
  assertTrue(filter1.getFilterColumn(0,false).getCriteria1().contains("String_Node_Str"));
  NAutoFilter filter2=book.getSheetByName("String_Node_Str").getAutoFilter();
  assertEquals("String_Node_Str",filter2.getRegion().getReferenceString());
  assertEquals(2,filter2.getFilterColumns().size());
  NFilterColumn firstFilterColumn=filter2.getFilterColumn(0,false);
  assertEquals(FilterOp.VALUES,firstFilterColumn.getOperator());
  assertEquals(3,firstFilterColumn.getFilters().size());
  assertEquals(3,firstFilterColumn.getCriteria1().size());
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  NFilterColumn secondFilterColumn=filter2.getFilterColumn(1,false);
  assertEquals(2,secondFilterColumn.getCriteria1().size());
  assertTrue(secondFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(secondFilterColumn.getCriteria1().contains("String_Node_Str"));
}

Fixed version (ground truth):
protected void autoFilter(NBook book){
  NAutoFilter filter1=book.getSheetByName("String_Node_Str").getAutoFilter();
  assertEquals("String_Node_Str",filter1.getRegion().getReferenceString());
  assertEquals(1,filter1.getFilterColumns().size());
  assertEquals(FilterOp.VALUES,filter1.getFilterColumn(1,false).getOperator());
  assertEquals(1,filter1.getFilterColumn(1,false).getFilters().size());
  assertEquals(1,filter1.getFilterColumn(1,false).getCriteria1().size());
  assertTrue(filter1.getFilterColumn(1,false).getCriteria1().contains("String_Node_Str"));
  NAutoFilter filter2=book.getSheetByName("String_Node_Str").getAutoFilter();
  assertEquals("String_Node_Str",filter2.getRegion().getReferenceString());
  assertEquals(2,filter2.getFilterColumns().size());
  NFilterColumn firstFilterColumn=filter2.getFilterColumn(0,false);
  assertEquals(FilterOp.VALUES,firstFilterColumn.getOperator());
  assertEquals(3,firstFilterColumn.getFilters().size());
  assertEquals(3,firstFilterColumn.getCriteria1().size());
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(firstFilterColumn.getCriteria1().contains("String_Node_Str"));
  NFilterColumn secondFilterColumn=filter2.getFilterColumn(1,false);
  assertEquals(2,secondFilterColumn.getCriteria1().size());
  assertTrue(secondFilterColumn.getCriteria1().contains("String_Node_Str"));
  assertTrue(secondFilterColumn.getCriteria1().contains("String_Node_Str"));
  NAutoFilter noCriteriaFilter=book.getSheetByName("String_Node_Str").getAutoFilter();
  assertEquals("String_Node_Str",noCriteriaFilter.getRegion().getReferenceString());
  assertEquals(0,noCriteriaFilter.getFilterColumns().size());
}