Program: 58369
Project: 58369
Buggy source:
/** 
 * {@inheritDoc} 
 */
@Override public void render(Symbol symbol) throws IOException {
  String content=symbol.getContent();
  int width=(int)(symbol.getWidth() * magnification) + (2 * margin);
  int height=(int)(symbol.getHeight() * magnification) + (2 * margin);
  String title;
  if (content == null || content.isEmpty()) {
    title="String_Node_Str";
  }
 else {
    title=content;
  }
  String fgColour=String.format("String_Node_Str",ink.getRed()) + String.format("String_Node_Str",ink.getGreen()) + String.format("String_Node_Str",ink.getRed());
  String bgColour=String.format("String_Node_Str",paper.getRed()) + String.format("String_Node_Str",paper.getGreen()) + String.format("String_Node_Str",paper.getRed());
  try (ExtendedOutputStreamWriter writer=new ExtendedOutputStreamWriter(out,"String_Node_Str")){
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").appendInt(width).append("String_Node_Str").appendInt(height).append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").append(title).append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").append(fgColour).append("String_Node_Str");
    writer.append("String_Node_Str").appendInt(width).append("String_Node_Str").appendInt(height).append("String_Node_Str").append(bgColour).append("String_Node_Str");
    for (int i=0; i < symbol.rect.size(); i++) {
      Rectangle rect=symbol.rect.get(i);
      writer.append("String_Node_Str").append((rect.x * magnification) + margin).append("String_Node_Str").append((rect.y * magnification) + margin).append("String_Node_Str").append(rect.width * magnification).append("String_Node_Str").append(rect.height * magnification).append("String_Node_Str");
    }
    for (int i=0; i < symbol.txt.size(); i++) {
      TextBox text=symbol.txt.get(i);
      writer.append("String_Node_Str").append((text.x * magnification) + margin).append("String_Node_Str").append((text.y * magnification) + margin).append("String_Node_Str");
      writer.append("String_Node_Str").append(8.0 * magnification).append("String_Node_Str").append(fgColour).append("String_Node_Str");
      writer.append("String_Node_Str").append(text.text).append("String_Node_Str");
      writer.append("String_Node_Str");
    }
    for (int i=0; i < symbol.target.size(); i++) {
      Ellipse2D.Double ellipse=symbol.target.get(i);
      String color;
      if ((i & 1) == 0) {
        color=fgColour;
      }
 else {
        color=bgColour;
      }
      writer.append("String_Node_Str").append(((ellipse.x + (ellipse.width / 2)) * magnification) + margin).append("String_Node_Str").append(((ellipse.y + (ellipse.width / 2)) * magnification) + margin).append("String_Node_Str").append((ellipse.width / 2) * magnification).append("String_Node_Str").append(color).append("String_Node_Str");
    }
    for (int i=0; i < symbol.hex.size(); i++) {
      Hexagon hexagon=symbol.hex.get(i);
      writer.append("String_Node_Str");
      for (int j=0; j < 6; j++) {
        if (j == 0) {
          writer.append("String_Node_Str");
        }
 else {
          writer.append("String_Node_Str");
        }
        writer.append((hexagon.pointX[j] * magnification) + margin).append("String_Node_Str").append((hexagon.pointY[j] * magnification) + margin).append("String_Node_Str");
      }
      writer.append("String_Node_Str");
    }
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
  }
 }

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
@Override public void render(Symbol symbol) throws IOException {
  String content=symbol.getContent();
  int width=(int)(symbol.getWidth() * magnification) + (2 * margin);
  int height=(int)(symbol.getHeight() * magnification) + (2 * margin);
  String title;
  if (content == null || content.isEmpty()) {
    title="String_Node_Str";
  }
 else {
    title=content;
  }
  String fgColour=String.format("String_Node_Str",ink.getRed()) + String.format("String_Node_Str",ink.getGreen()) + String.format("String_Node_Str",ink.getBlue());
  String bgColour=String.format("String_Node_Str",paper.getRed()) + String.format("String_Node_Str",paper.getGreen()) + String.format("String_Node_Str",paper.getBlue());
  try (ExtendedOutputStreamWriter writer=new ExtendedOutputStreamWriter(out,"String_Node_Str")){
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").appendInt(width).append("String_Node_Str").appendInt(height).append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").append(title).append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
    writer.append("String_Node_Str").append(fgColour).append("String_Node_Str");
    writer.append("String_Node_Str").appendInt(width).append("String_Node_Str").appendInt(height).append("String_Node_Str").append(bgColour).append("String_Node_Str");
    for (int i=0; i < symbol.rect.size(); i++) {
      Rectangle rect=symbol.rect.get(i);
      writer.append("String_Node_Str").append((rect.x * magnification) + margin).append("String_Node_Str").append((rect.y * magnification) + margin).append("String_Node_Str").append(rect.width * magnification).append("String_Node_Str").append(rect.height * magnification).append("String_Node_Str");
    }
    for (int i=0; i < symbol.txt.size(); i++) {
      TextBox text=symbol.txt.get(i);
      writer.append("String_Node_Str").append((text.x * magnification) + margin).append("String_Node_Str").append((text.y * magnification) + margin).append("String_Node_Str");
      writer.append("String_Node_Str").append(8.0 * magnification).append("String_Node_Str").append(fgColour).append("String_Node_Str");
      writer.append("String_Node_Str").append(text.text).append("String_Node_Str");
      writer.append("String_Node_Str");
    }
    for (int i=0; i < symbol.target.size(); i++) {
      Ellipse2D.Double ellipse=symbol.target.get(i);
      String color;
      if ((i & 1) == 0) {
        color=fgColour;
      }
 else {
        color=bgColour;
      }
      writer.append("String_Node_Str").append(((ellipse.x + (ellipse.width / 2)) * magnification) + margin).append("String_Node_Str").append(((ellipse.y + (ellipse.width / 2)) * magnification) + margin).append("String_Node_Str").append((ellipse.width / 2) * magnification).append("String_Node_Str").append(color).append("String_Node_Str");
    }
    for (int i=0; i < symbol.hex.size(); i++) {
      Hexagon hexagon=symbol.hex.get(i);
      writer.append("String_Node_Str");
      for (int j=0; j < 6; j++) {
        if (j == 0) {
          writer.append("String_Node_Str");
        }
 else {
          writer.append("String_Node_Str");
        }
        writer.append((hexagon.pointX[j] * magnification) + margin).append("String_Node_Str").append((hexagon.pointY[j] * magnification) + margin).append("String_Node_Str");
      }
      writer.append("String_Node_Str");
    }
    writer.append("String_Node_Str");
    writer.append("String_Node_Str");
  }
 }