Program: 26468
Project: 26468
Buggy source:
@Override public GCState startElement(GCParserContext context,String elementName,String unparsedAttributes){
  if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      calculateSizes(context,type,"String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      calculateSizes(context,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      calculateSizes(context,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str",context.getAttribute("String_Node_Str"),"String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str",++compactionCount);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValueDiv1000("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    calculateSizes(context,"String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
  return this;
}

Fixed version (ground truth):
@Override public GCState startElement(GCParserContext context,String elementName,String unparsedAttributes){
  if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      calculateSizes(context,type,"String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      calculateSizes(context,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      calculateSizes(context,"String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str",context.getAttribute("String_Node_Str"),"String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValue("String_Node_Str","String_Node_Str",++compactionCount);
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    context.setValueDiv1000("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(elementName)) {
  }
 else   if ("String_Node_Str".equals(elementName)) {
    context.parseAttributes(unparsedAttributes);
    String type=context.getAttribute("String_Node_Str");
    if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
 else     if ("String_Node_Str".equals(type)) {
      context.setValue("String_Node_Str","String_Node_Str","String_Node_Str");
    }
  }
  return this;
}