Program: 78441
Project: 78441
Buggy source:
protected void processDataPointHotspot(){
  Iterator iter=cacheSeriesHotspots.keySet().iterator();
  Iterator valIter=cacheSeriesHotspots.values().iterator();
  while (iter.hasNext()) {
    Element elm=(Element)iter.next();
    Series seDT=(Series)valIter.next();
    List components=(List)componentPrimitives.get(seDT);
    if (components != null) {
      Iterator iterComp=components.iterator();
      StringBuffer sb=new StringBuffer();
      StringBuffer labelSB=new StringBuffer();
      sb.append(seDT.hashCode());
      if (iterComp.hasNext())       sb.append("String_Node_Str");
      while (iterComp.hasNext()) {
        sb.append("String_Node_Str").append(iterComp.next()).append("String_Node_Str");
        if (iterComp.hasNext())         sb.append("String_Node_Str");
      }
      if (components.size() > 0)       sb.append("String_Node_Str");
      List labelComp=(List)labelPrimitives.get(seDT);
      if (labelComp != null) {
        Iterator iterLabel=labelComp.iterator();
        if (iterLabel.hasNext())         labelSB.append("String_Node_Str");
        while (iterLabel.hasNext()) {
          labelSB.append("String_Node_Str").append(iterLabel.next()).append("String_Node_Str");
          if (iterLabel.hasNext())           labelSB.append("String_Node_Str");
        }
        if (labelComp.size() > 0)         labelSB.append("String_Node_Str");
      }
      elm.setAttribute("String_Node_Str","String_Node_Str" + sb.toString() + "String_Node_Str"+ labelSB.toString()+ "String_Node_Str");
      setCursor(elm);
      ((SVGGraphics2D)_g2d).addCSSStyle("String_Node_Str" + seDT.hashCode(),"String_Node_Str","String_Node_Str");
    }
  }
  iter=cacheHotspots.keySet().iterator();
  valIter=cacheHotspots.values().iterator();
  while (iter.hasNext()) {
    Element elm=(Element)iter.next();
    Series seDT=(Series)valIter.next();
    List components=(List)labelPrimitives.get(seDT);
    if (components != null) {
      Iterator compIter=components.iterator();
      StringBuffer sb=new StringBuffer();
      sb.append(seDT.hashCode());
      if (compIter.hasNext())       sb.append("String_Node_Str");
      while (compIter.hasNext()) {
        sb.append("String_Node_Str").append(compIter.next()).append("String_Node_Str");
        if (compIter.hasNext())         sb.append("String_Node_Str");
      }
      if (components.size() > 0)       sb.append("String_Node_Str");
      elm.setAttribute("String_Node_Str","String_Node_Str" + sb.toString() + "String_Node_Str");
      setCursor(elm);
    }
  }
}

Fixed version (ground truth):
protected void processDataPointHotspot(){
  Iterator iter=cacheSeriesHotspots.keySet().iterator();
  Iterator valIter=cacheSeriesHotspots.values().iterator();
  while (iter.hasNext()) {
    Element elm=(Element)iter.next();
    Series seDT=(Series)valIter.next();
    List components=(List)componentPrimitives.get(seDT);
    if (components != null) {
      Iterator iterComp=components.iterator();
      StringBuffer sb=new StringBuffer();
      StringBuffer labelSB=new StringBuffer();
      sb.append(seDT.hashCode());
      if (iterComp.hasNext())       sb.append("String_Node_Str");
      while (iterComp.hasNext()) {
        sb.append("String_Node_Str").append(iterComp.next()).append("String_Node_Str");
        if (iterComp.hasNext())         sb.append("String_Node_Str");
      }
      if (components.size() > 0)       sb.append("String_Node_Str");
      List labelComp=(List)labelPrimitives.get(seDT);
      if (labelComp != null) {
        Iterator iterLabel=labelComp.iterator();
        if (iterLabel.hasNext())         labelSB.append("String_Node_Str");
        while (iterLabel.hasNext()) {
          labelSB.append("String_Node_Str").append(iterLabel.next()).append("String_Node_Str");
          if (iterLabel.hasNext())           labelSB.append("String_Node_Str");
        }
        if (labelComp.size() > 0)         labelSB.append("String_Node_Str");
        sb.append("String_Node_Str").append(labelSB);
      }
      elm.setAttribute("String_Node_Str","String_Node_Str" + sb.toString() + "String_Node_Str");
      setCursor(elm);
      ((SVGGraphics2D)_g2d).addCSSStyle("String_Node_Str" + seDT.hashCode(),"String_Node_Str","String_Node_Str");
    }
  }
  iter=cacheHotspots.keySet().iterator();
  valIter=cacheHotspots.values().iterator();
  while (iter.hasNext()) {
    Element elm=(Element)iter.next();
    Series seDT=(Series)valIter.next();
    List components=(List)labelPrimitives.get(seDT);
    if (components != null) {
      Iterator compIter=components.iterator();
      StringBuffer sb=new StringBuffer();
      sb.append(seDT.hashCode());
      if (compIter.hasNext())       sb.append("String_Node_Str");
      while (compIter.hasNext()) {
        sb.append("String_Node_Str").append(compIter.next()).append("String_Node_Str");
        if (compIter.hasNext())         sb.append("String_Node_Str");
      }
      if (components.size() > 0)       sb.append("String_Node_Str");
      elm.setAttribute("String_Node_Str","String_Node_Str" + sb.toString() + "String_Node_Str");
      setCursor(elm);
    }
  }
}