Program: 73407
Project: 73407
Buggy source:
static void handleElement(Element ele,Map cssStyles,IContent content,ActionContent action,int index){
  IStyle cssStyle=(IStyle)cssStyles.get(ele);
  if (cssStyle != null) {
    if ("String_Node_Str".equals(cssStyle.getDisplay())) {
      return;
    }
  }
  String tagName=ele.getTagName();
  if (tagName.toLowerCase().equals("String_Node_Str")) {
    IContainerContent container=content.getReportContent().createContainerContent();
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    ActionContent actionContent=handleAnchor(ele,container,action);
    processNodes(ele,cssStyles,content,actionContent);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str")) {
    outputImg(ele,cssStyles,content);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str")) {
    ILabelContent label=content.getReportContent().createLabelContent();
    addChild(content,label);
    label.setText("String_Node_Str");
    StyleDeclaration inlineStyle=new StyleDeclaration(content.getCSSEngine());
    inlineStyle.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
    label.setInlineStyle(inlineStyle);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str") && ele.getParentNode().getNodeType() == Node.ELEMENT_NODE) {
    StyleDeclaration style=new StyleDeclaration(content.getCSSEngine());
    style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.BLOCK_VALUE);
    style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.MIDDLE_VALUE);
    IContainerContent container=content.getReportContent().createContainerContent();
    container.setInlineStyle(style);
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    style=new StyleDeclaration(content.getCSSEngine());
    style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
    style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.TOP_VALUE);
    IContainerContent orderContainer=content.getReportContent().createContainerContent();
    CSSValue fontSizeValue=content.getComputedStyle().getProperty(IStyle.STYLE_FONT_SIZE);
    orderContainer.setWidth(new DimensionType(2.1 * PropertyUtil.getDimensionValue(fontSizeValue) / 1000.0,EngineIRConstants.UNITS_PT));
    orderContainer.setInlineStyle(style);
    addChild(container,orderContainer);
    TextContent text=(TextContent)content.getReportContent().createTextContent();
    addChild(orderContainer,text);
    if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
      text.setText(new Integer(index).toString() + "String_Node_Str");
    }
 else     if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
      text.setText(new String(new char[]{'\u2022'}));
    }
    text.setInlineStyle(style);
    IContainerContent childContainer=content.getReportContent().createContainerContent();
    addChild(container,childContainer);
    childContainer.setInlineStyle(style);
    processNodes(ele,cssStyles,childContainer,action);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str") || tagName.toLowerCase().equals("String_Node_Str")) {
    IContainerContent container=content.getReportContent().createContainerContent();
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    if (tagName.toLowerCase().equals("String_Node_Str")) {
      StyleDeclaration style=new StyleDeclaration(content.getCSSEngine());
      style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
      style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.TOP_VALUE);
      TextContent text=(TextContent)content.getReportContent().createTextContent();
      addChild(content,text);
      if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
        text.setText("String_Node_Str");
      }
      style.setTextIndent("String_Node_Str");
      text.setInlineStyle(style);
      IContainerContent childContainer=content.getReportContent().createContainerContent();
      childContainer.setInlineStyle(style);
      addChild(container,childContainer);
      processNodes(ele,cssStyles,container,action);
    }
 else {
      processNodes(ele,cssStyles,container,action);
    }
  }
 else   if ("String_Node_Str".equals(tagName.toLowerCase())) {
    TableProcessor.processTable(ele,cssStyles,content,action);
  }
 else {
    IContainerContent container=content.getReportContent().createContainerContent();
    handleStyle(ele,cssStyles,container);
    addChild(content,container);
    processNodes(ele,cssStyles,container,action);
  }
}

Fixed version (ground truth):
static void handleElement(Element ele,Map cssStyles,IContent content,ActionContent action,int index){
  IStyle cssStyle=(IStyle)cssStyles.get(ele);
  if (cssStyle != null) {
    if ("String_Node_Str".equals(cssStyle.getDisplay())) {
      return;
    }
  }
  String tagName=ele.getTagName();
  if (tagName.toLowerCase().equals("String_Node_Str")) {
    IContainerContent container=content.getReportContent().createContainerContent();
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    ActionContent actionContent=handleAnchor(ele,container,action);
    processNodes(ele,cssStyles,content,actionContent);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str")) {
    outputImg(ele,cssStyles,content);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str")) {
    ILabelContent label=content.getReportContent().createLabelContent();
    addChild(content,label);
    label.setText("String_Node_Str");
    StyleDeclaration inlineStyle=new StyleDeclaration(content.getCSSEngine());
    inlineStyle.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
    label.setInlineStyle(inlineStyle);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str") && ele.getParentNode().getNodeType() == Node.ELEMENT_NODE) {
    StyleDeclaration style=new StyleDeclaration(content.getCSSEngine());
    style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.BLOCK_VALUE);
    style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.MIDDLE_VALUE);
    IContainerContent container=content.getReportContent().createContainerContent();
    container.setInlineStyle(style);
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    style=new StyleDeclaration(content.getCSSEngine());
    style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
    style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.TOP_VALUE);
    IContainerContent orderContainer=content.getReportContent().createContainerContent();
    CSSValue fontSizeValue=content.getComputedStyle().getProperty(IStyle.STYLE_FONT_SIZE);
    orderContainer.setWidth(new DimensionType(2.1 * PropertyUtil.getDimensionValue(fontSizeValue) / 1000.0,EngineIRConstants.UNITS_PT));
    orderContainer.setInlineStyle(style);
    addChild(container,orderContainer);
    TextContent text=(TextContent)content.getReportContent().createTextContent();
    addChild(orderContainer,text);
    if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
      text.setText(new Integer(index).toString() + "String_Node_Str");
    }
 else     if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
      text.setText(new String(new char[]{'\u2022'}));
    }
    text.setInlineStyle(style);
    IContainerContent childContainer=content.getReportContent().createContainerContent();
    addChild(container,childContainer);
    childContainer.setInlineStyle(style);
    processNodes(ele,cssStyles,childContainer,action);
  }
 else   if (tagName.toLowerCase().equals("String_Node_Str") || tagName.toLowerCase().equals("String_Node_Str")) {
    IContainerContent container=content.getReportContent().createContainerContent();
    addChild(content,container);
    handleStyle(ele,cssStyles,container);
    if (tagName.toLowerCase().equals("String_Node_Str")) {
      StyleDeclaration style=new StyleDeclaration(content.getCSSEngine());
      style.setProperty(IStyle.STYLE_DISPLAY,CSSValueConstants.INLINE_VALUE);
      style.setProperty(IStyle.STYLE_VERTICAL_ALIGN,CSSValueConstants.TOP_VALUE);
      TextContent text=(TextContent)content.getReportContent().createTextContent();
      addChild(container,text);
      if (ele.getParentNode().getNodeName().equals("String_Node_Str")) {
        text.setText("String_Node_Str");
      }
      style.setTextIndent("String_Node_Str");
      text.setInlineStyle(style);
      IContainerContent childContainer=content.getReportContent().createContainerContent();
      childContainer.setInlineStyle(style);
      addChild(container,childContainer);
      processNodes(ele,cssStyles,container,action);
    }
 else {
      processNodes(ele,cssStyles,container,action);
    }
  }
 else   if ("String_Node_Str".equals(tagName.toLowerCase())) {
    TableProcessor.processTable(ele,cssStyles,content,action);
  }
 else {
    IContainerContent container=content.getReportContent().createContainerContent();
    handleStyle(ele,cssStyles,container);
    addChild(content,container);
    processNodes(ele,cssStyles,container,action);
  }
}