Program: 78082
Project: 78082
Buggy source:
protected Element createText(String text){
  Element elem=dom.createElement("String_Node_Str");
  elem.appendChild(dom.createTextNode(text));
switch (getFont().getStyle()) {
case Font.BOLD:
    elem.setAttribute("String_Node_Str","String_Node_Str");
  break;
case Font.ITALIC:
elem.setAttribute("String_Node_Str","String_Node_Str");
break;
case (Font.BOLD + Font.ITALIC):
elem.setAttribute("String_Node_Str","String_Node_Str");
elem.setAttribute("String_Node_Str","String_Node_Str");
break;
}
String textDecorator=null;
Map attributes=getFont().getAttributes();
if (attributes.get(TextAttribute.UNDERLINE) == TextAttribute.UNDERLINE_ON) {
textDecorator="String_Node_Str";
}
if (attributes.get(TextAttribute.STRIKETHROUGH) == TextAttribute.STRIKETHROUGH_ON) {
if (textDecorator == null) textDecorator="String_Node_Str";
 else textDecorator+="String_Node_Str";
}
if (textDecorator != null) elem.setAttribute("String_Node_Str",textDecorator);
elem.setAttribute("String_Node_Str",getFont().getFamily());
elem.setAttribute("String_Node_Str",Integer.toString(getFont().getSize()));
String style=getRenderingStyle(RenderingHints.KEY_TEXT_ANTIALIASING);
if (color != null) {
String alpha=alphaToString(color);
if (alpha != null) style+="String_Node_Str" + alpha + "String_Node_Str";
style+="String_Node_Str" + serializeToString(color) + "String_Node_Str";
}
elem.setAttribute("String_Node_Str",style);
if (transforms.getType() != AffineTransform.TYPE_IDENTITY) {
double[] matrix=new double[6];
transforms.getMatrix(matrix);
elem.setAttribute("String_Node_Str","String_Node_Str" + matrix[0] + "String_Node_Str"+ matrix[1]+ "String_Node_Str"+ matrix[2]+ "String_Node_Str"+ matrix[3]+ "String_Node_Str"+ matrix[4]+ "String_Node_Str"+ matrix[5]+ "String_Node_Str");
}
return elem;
}

Fixed version (ground truth):
protected Element createText(String text){
  Element elem=dom.createElement("String_Node_Str");
  elem.appendChild(dom.createTextNode(text));
switch (getFont().getStyle()) {
case Font.BOLD:
    elem.setAttribute("String_Node_Str","String_Node_Str");
  break;
case Font.ITALIC:
elem.setAttribute("String_Node_Str","String_Node_Str");
break;
case (Font.BOLD + Font.ITALIC):
elem.setAttribute("String_Node_Str","String_Node_Str");
elem.setAttribute("String_Node_Str","String_Node_Str");
break;
}
String textDecorator=null;
Map attributes=getFont().getAttributes();
if (attributes.get(TextAttribute.UNDERLINE) == TextAttribute.UNDERLINE_ON) {
textDecorator="String_Node_Str";
}
if (attributes.get(TextAttribute.STRIKETHROUGH) == TextAttribute.STRIKETHROUGH_ON) {
if (textDecorator == null) textDecorator="String_Node_Str";
 else textDecorator+="String_Node_Str";
}
if (textDecorator != null) elem.setAttribute("String_Node_Str",textDecorator);
elem.setAttribute("String_Node_Str","String_Node_Str");
elem.setAttribute("String_Node_Str",getFont().getFamily());
elem.setAttribute("String_Node_Str",Integer.toString(getFont().getSize()));
String style=getRenderingStyle(RenderingHints.KEY_TEXT_ANTIALIASING);
if (color != null) {
String alpha=alphaToString(color);
if (alpha != null) style+="String_Node_Str" + alpha + "String_Node_Str";
style+="String_Node_Str" + serializeToString(color) + "String_Node_Str";
}
elem.setAttribute("String_Node_Str",style);
if (transforms.getType() != AffineTransform.TYPE_IDENTITY) {
double[] matrix=new double[6];
transforms.getMatrix(matrix);
elem.setAttribute("String_Node_Str","String_Node_Str" + matrix[0] + "String_Node_Str"+ matrix[1]+ "String_Node_Str"+ matrix[2]+ "String_Node_Str"+ matrix[3]+ "String_Node_Str"+ matrix[4]+ "String_Node_Str"+ matrix[5]+ "String_Node_Str");
}
return elem;
}