Program: 145099
Project: 145099
Buggy source:
public Detail parse() throws InvalidStructureException, IOException, XmlPullParserException {
  checkNode("String_Node_Str");
  String id=parser.getAttributeValue(null,"String_Node_Str");
  getNextTagInBlock("String_Node_Str");
  checkNode("String_Node_Str");
  getNextTagInBlock("String_Node_Str");
  Text title=new TextParser(parser).parse();
  getNextTagInBlock("String_Node_Str");
  Filter filter=Filter.EmptyFilter();
  if (parser.getName().toLowerCase().equals("String_Node_Str")) {
    filter=new FilterParser(parser).parse();
    getNextTagInBlock("String_Node_Str");
  }
  FormInstance model=parseModel();
  Vector<Text> headers=new Vector<Text>();
  Vector<Text> templates=new Vector<Text>();
  Vector<Integer> headerHints=new Vector<Integer>();
  Vector<Integer> templateHints=new Vector<Integer>();
  Vector<String> headerForms=new Vector<String>();
  Vector<String> templateForms=new Vector<String>();
  while (nextTagInBlock("String_Node_Str")) {
    checkNode("String_Node_Str");
    if (nextTagInBlock("String_Node_Str")) {
      checkNode("String_Node_Str");
      headerHints.addElement(new Integer(getWidth()));
      String form=parser.getAttributeValue(null,"String_Node_Str");
      headerForms.addElement(form == null ? "String_Node_Str" : form);
      parser.nextTag();
      checkNode("String_Node_Str");
      Text header=new TextParser(parser).parse();
      headers.addElement(header);
    }
    if (nextTagInBlock("String_Node_Str")) {
      checkNode("String_Node_Str");
      templateHints.addElement(new Integer(getWidth()));
      String form=parser.getAttributeValue(null,"String_Node_Str");
      templateForms.addElement(form == null ? "String_Node_Str" : form);
      parser.nextTag();
      checkNode("String_Node_Str");
      Text template=new TextParser(parser).parse();
      templates.addElement(template);
    }
  }
  Detail d=new Detail(id,title,model,headers,templates,filter,toArray(headerHints),toArray(templateHints),toArray(headerForms),toArray(templateForms));
  return d;
}

Fixed version (ground truth):
public Detail parse() throws InvalidStructureException, IOException, XmlPullParserException {
  checkNode("String_Node_Str");
  String id=parser.getAttributeValue(null,"String_Node_Str");
  getNextTagInBlock("String_Node_Str");
  checkNode("String_Node_Str");
  getNextTagInBlock("String_Node_Str");
  Text title=new TextParser(parser).parse();
  getNextTagInBlock("String_Node_Str");
  Filter filter=Filter.EmptyFilter();
  if (parser.getName().toLowerCase().equals("String_Node_Str")) {
    filter=new FilterParser(parser).parse();
    getNextTagInBlock("String_Node_Str");
  }
  FormInstance model=parseModel();
  Vector<Text> headers=new Vector<Text>();
  Vector<Text> templates=new Vector<Text>();
  Vector<Integer> headerHints=new Vector<Integer>();
  Vector<Integer> templateHints=new Vector<Integer>();
  Vector<String> headerForms=new Vector<String>();
  Vector<String> templateForms=new Vector<String>();
  while (nextTagInBlock("String_Node_Str")) {
    checkNode("String_Node_Str");
    if (nextTagInBlock("String_Node_Str")) {
      checkNode("String_Node_Str");
      headerHints.addElement(new Integer(getWidth()));
      String form=parser.getAttributeValue(null,"String_Node_Str");
      headerForms.addElement(form == null ? "String_Node_Str" : form);
      parser.nextTag();
      checkNode("String_Node_Str");
      Text header=new TextParser(parser).parse();
      headers.addElement(header);
    }
    if (nextTagInBlock("String_Node_Str")) {
      checkNode("String_Node_Str");
      templateHints.addElement(new Integer(getWidth()));
      String form=parser.getAttributeValue(null,"String_Node_Str");
      templateForms.addElement(form == null ? "String_Node_Str" : form);
      parser.nextTag();
      checkNode("String_Node_Str");
      Text template=new TextParser(parser).parse();
      templates.addElement(template);
    }
  }
  Detail d=new Detail(id,title,model,headers,templates,filter,toIntArray(headerHints),toIntArray(templateHints),toStringArray(headerForms),toStringArray(templateForms));
  return d;
}