Program: 111923
Project: 111923
Buggy source:
private static void addPrimitiveType(String t,Tokenizer st,PrimitiveTypeName type,Repetition r,Types.GroupBuilder<?> builder){
  PrimitiveBuilder<?> childBuilder=builder.primitive(type,r);
  if (type == PrimitiveTypeName.FIXED_LEN_BYTE_ARRAY) {
    t=st.nextToken();
    if (!t.equalsIgnoreCase("String_Node_Str")) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    childBuilder.length(Integer.parseInt(st.nextToken()));
    check(st.nextToken(),"String_Node_Str","String_Node_Str",st);
  }
  String name=st.nextToken();
  t=st.nextToken();
  OriginalType originalType=null;
  if (t.equalsIgnoreCase("String_Node_Str")) {
    originalType=OriginalType.valueOf(st.nextToken());
    childBuilder.as(originalType);
    if (OriginalType.DECIMAL == originalType) {
      t=st.nextToken();
      if (t.equalsIgnoreCase("String_Node_Str")) {
        childBuilder.precision(Integer.parseInt(st.nextToken()));
        t=st.nextToken();
        if (t.equalsIgnoreCase("String_Node_Str")) {
          childBuilder.scale(Integer.parseInt(st.nextToken()));
          t=st.nextToken();
        }
        check(t,"String_Node_Str","String_Node_Str",st);
        t=st.nextToken();
      }
    }
 else {
      t=st.nextToken();
    }
    check(t,"String_Node_Str","String_Node_Str",st);
    t=st.nextToken();
  }
  if (t.equals("String_Node_Str")) {
    childBuilder.id(Integer.parseInt(st.nextToken()));
    t=st.nextToken();
  }
  check(t,"String_Node_Str","String_Node_Str",st);
  try {
    childBuilder.named(name);
  }
 catch (  IllegalArgumentException e) {
    throw new IllegalArgumentException("String_Node_Str" + type + "String_Node_Str"+ name+ "String_Node_Str"+ originalType,e);
  }
}

Fixed version (ground truth):
private static void addPrimitiveType(Tokenizer st,PrimitiveTypeName type,Repetition r,Types.GroupBuilder<?> builder){
  PrimitiveBuilder<?> childBuilder=builder.primitive(type,r);
  String t;
  if (type == PrimitiveTypeName.FIXED_LEN_BYTE_ARRAY) {
    t=st.nextToken();
    if (!t.equalsIgnoreCase("String_Node_Str")) {
      throw new IllegalArgumentException("String_Node_Str");
    }
    childBuilder.length(Integer.parseInt(st.nextToken()));
    check(st.nextToken(),"String_Node_Str","String_Node_Str",st);
  }
  String name=st.nextToken();
  t=st.nextToken();
  OriginalType originalType=null;
  if (t.equalsIgnoreCase("String_Node_Str")) {
    originalType=OriginalType.valueOf(st.nextToken());
    childBuilder.as(originalType);
    if (OriginalType.DECIMAL == originalType) {
      t=st.nextToken();
      if (t.equalsIgnoreCase("String_Node_Str")) {
        childBuilder.precision(Integer.parseInt(st.nextToken()));
        t=st.nextToken();
        if (t.equalsIgnoreCase("String_Node_Str")) {
          childBuilder.scale(Integer.parseInt(st.nextToken()));
          t=st.nextToken();
        }
        check(t,"String_Node_Str","String_Node_Str",st);
        t=st.nextToken();
      }
    }
 else {
      t=st.nextToken();
    }
    check(t,"String_Node_Str","String_Node_Str",st);
    t=st.nextToken();
  }
  if (t.equals("String_Node_Str")) {
    childBuilder.id(Integer.parseInt(st.nextToken()));
    t=st.nextToken();
  }
  check(t,"String_Node_Str","String_Node_Str",st);
  try {
    childBuilder.named(name);
  }
 catch (  IllegalArgumentException e) {
    throw new IllegalArgumentException("String_Node_Str" + type + "String_Node_Str"+ name+ "String_Node_Str"+ originalType,e);
  }
}