Program: 9622
Project: 9622
Buggy source:
final public ConfFileOption2 ConfOption() throws ParseException {
  boolean containsSubOption=false;
  String value="String_Node_Str", value1="String_Node_Str", value2="String_Node_Str", tmp="String_Node_Str", tmp2="String_Node_Str";
  Set<String> values=new HashSet<String>();
  List<StringTuple> tuples=new LinkedList<StringTuple>();
  ConfFileOption2 option=new ConfFileOption2();
  boolean inQuotes=false;
  String beanName;
  String propertyName="String_Node_Str";
  String propertyValue;
  Class<?> propertyType;
  Object val=null;
  beanName=Id();
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMAND_END:
    jj_consume_token(COMMAND_END);
  propertyName=Id();
containsSubOption=true;
break;
default :
jj_la1[1]=jj_gen;
;
}
jj_consume_token(25);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case ID:
propertyValue=Id();
val=propertyValue;
propertyType=String.class;
break;
case STRING:
propertyValue=String();
val=propertyValue;
inQuotes=true;
propertyType=String.class;
break;
case NUMBER:
val=Integer();
propertyValue=val.toString();
propertyType=Integer.class;
break;
case DOUBLE:
val=Double();
propertyValue=val.toString();
propertyType=Double.class;
break;
default :
jj_la1[6]=jj_gen;
if (jj_2_4(2147483647)) {
jj_consume_token(26);
jj_consume_token(27);
val=new HashSet();
propertyType=Set.class;
propertyValue="String_Node_Str";
}
 else if (jj_2_5(4)) {
jj_consume_token(26);
label_2: while (true) {
if (jj_2_1(2)) {
;
}
 else {
break label_2;
}
tmp=String();
values.add(tmp);
jj_consume_token(28);
}
tmp=String();
values.add(tmp);
jj_consume_token(27);
propertyType=Set.class;
propertyValue="String_Node_Str";
}
 else {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case 26:
jj_consume_token(26);
label_3: while (true) {
if (jj_2_2(4)) {
;
}
 else {
break label_3;
}
tmp=Id();
values.add(tmp);
jj_consume_token(28);
}
tmp=Id();
values.add(tmp);
jj_consume_token(27);
val=values;
propertyType=Set.class;
propertyValue="String_Node_Str";
break;
default :
jj_la1[7]=jj_gen;
if (jj_2_6(2147483647)) {
jj_consume_token(29);
jj_consume_token(30);
val=new LinkedList();
propertyType=List.class;
propertyValue="String_Node_Str";
}
 else {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case 29:
jj_consume_token(29);
label_4: while (true) {
if (jj_2_3(6)) {
;
}
 else {
break label_4;
}
jj_consume_token(31);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp=String();
break;
case ID:
tmp=Id();
break;
default :
jj_la1[2]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(28);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp2=String();
break;
case ID:
tmp2=Id();
break;
default :
jj_la1[3]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(32);
tuples.add(new StringTuple(tmp,tmp2));
jj_consume_token(28);
}
jj_consume_token(31);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp=String();
break;
case ID:
tmp=Id();
break;
default :
jj_la1[4]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(28);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp2=String();
break;
case ID:
tmp2=Id();
break;
default :
jj_la1[5]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(32);
tuples.add(new StringTuple(tmp,tmp2));
jj_consume_token(30);
val=values;
propertyType=List.class;
break;
default :
jj_la1[8]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
if (containsSubOption) {
option.setInQuotes(inQuotes);
option.setBeanName(beanName);
option.setPropertyName(propertyName);
option.setPropertyType(propertyType);
option.setValueObject(val);
}
 else {
}
{
if (true) return option;
}
throw new Error("String_Node_Str");
}

Fixed version (ground truth):
final public ConfFileOption2 ConfOption() throws ParseException {
  boolean containsSubOption=false;
  String value="String_Node_Str", value1="String_Node_Str", value2="String_Node_Str", tmp="String_Node_Str", tmp2="String_Node_Str";
  Set<String> values=new HashSet<String>();
  List<StringTuple> tuples=new LinkedList<StringTuple>();
  ConfFileOption2 option=new ConfFileOption2();
  boolean inQuotes=false;
  String beanName;
  String propertyName="String_Node_Str";
  String propertyValue;
  Class<?> propertyType;
  Object val=null;
  beanName=Id();
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case COMMAND_END:
    jj_consume_token(COMMAND_END);
  propertyName=Id();
containsSubOption=true;
break;
default :
jj_la1[1]=jj_gen;
;
}
jj_consume_token(13);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case ID:
propertyValue=Id();
if (propertyValue.equals("String_Node_Str") || propertyValue.equals("String_Node_Str")) {
val=Boolean.valueOf(propertyValue);
propertyType=Boolean.class;
}
 else {
val=propertyValue;
propertyType=String.class;
}
break;
case STRING:
propertyValue=String();
val=propertyValue;
inQuotes=true;
propertyType=String.class;
break;
case NUMBER:
val=Integer();
propertyValue=val.toString();
propertyType=Integer.class;
break;
case DOUBLE:
val=Double();
propertyValue=val.toString();
propertyType=Double.class;
break;
default :
jj_la1[6]=jj_gen;
if (jj_2_4(2147483647)) {
jj_consume_token(14);
jj_consume_token(15);
val=new HashSet();
propertyType=Set.class;
propertyValue="String_Node_Str";
}
 else if (jj_2_5(4)) {
jj_consume_token(14);
label_2: while (true) {
if (jj_2_1(2)) {
;
}
 else {
break label_2;
}
tmp=String();
values.add(tmp);
jj_consume_token(16);
}
tmp=String();
values.add(tmp);
jj_consume_token(15);
propertyType=Set.class;
propertyValue="String_Node_Str";
val=values;
inQuotes=true;
}
 else {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case 14:
jj_consume_token(14);
label_3: while (true) {
if (jj_2_2(4)) {
;
}
 else {
break label_3;
}
tmp=Id();
values.add(tmp);
jj_consume_token(16);
}
tmp=Id();
values.add(tmp);
jj_consume_token(15);
val=values;
propertyType=Set.class;
propertyValue="String_Node_Str";
break;
default :
jj_la1[7]=jj_gen;
if (jj_2_6(2147483647)) {
jj_consume_token(17);
jj_consume_token(18);
val=new LinkedList();
propertyType=List.class;
propertyValue="String_Node_Str";
}
 else {
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case 17:
jj_consume_token(17);
label_4: while (true) {
if (jj_2_3(6)) {
;
}
 else {
break label_4;
}
jj_consume_token(19);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp=String();
break;
case ID:
tmp=Id();
break;
default :
jj_la1[2]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(16);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp2=String();
break;
case ID:
tmp2=Id();
break;
default :
jj_la1[3]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(20);
tuples.add(new StringTuple(tmp,tmp2));
jj_consume_token(16);
}
jj_consume_token(19);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp=String();
break;
case ID:
tmp=Id();
break;
default :
jj_la1[4]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(16);
switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
case STRING:
tmp2=String();
break;
case ID:
tmp2=Id();
break;
default :
jj_la1[5]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(20);
tuples.add(new StringTuple(tmp,tmp2));
jj_consume_token(18);
val=values;
propertyType=List.class;
break;
default :
jj_la1[8]=jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
if (containsSubOption) {
option.setInQuotes(inQuotes);
option.setBeanName(beanName);
option.setPropertyName(propertyName);
option.setPropertyType(propertyType);
option.setValueObject(val);
}
 else {
}
{
if (true) return option;
}
throw new Error("String_Node_Str");
}