Program: 64117
Project: 64117
Buggy source:
/** 
 * {@inheritDoc}. 
 */
public PlanarImage executeDrawOperation(){
  log("String_Node_Str" + width + "String_Node_Str"+ height+ "String_Node_Str"+ arcwidth+ "String_Node_Str"+ archeight);
  BufferedImage bi=new BufferedImage(width,height,BufferedImage.TYPE_4BYTE_ABGR_PRE);
  Graphics2D graphics=(Graphics2D)bi.getGraphics();
  if (!stroke.equals("String_Node_Str")) {
    BasicStroke bStroke=new BasicStroke(stroke_width);
    graphics.setColor(ColorMapper.getColorByName(stroke));
    graphics.setStroke(bStroke);
    if ((arcwidth != 0) || (archeight != 0)) {
      graphics.drawRoundRect(0,0,width,height,arcwidth,archeight);
    }
 else {
      graphics.drawRect(0,0,width,height);
    }
  }
  if (!fill.equals("String_Node_Str")) {
    graphics.setColor(ColorMapper.getColorByName(fill));
    if ((arcwidth != 0) || (archeight != 0)) {
      graphics.fillRoundRect(stroke_width,stroke_width,width - (stroke_width * 2),height - (stroke_width * 2),arcwidth,archeight);
    }
 else {
      graphics.fillRect(stroke_width,stroke_width,width - (stroke_width * 2),height - (stroke_width * 2));
    }
  }
  final int size=instructions.size();
  for (int i=0; i < size; i++) {
    ImageOperation instr=((ImageOperation)instructions.elementAt(i));
    if (instr instanceof DrawOperation) {
      PlanarImage img=((DrawOperation)instr).executeDrawOperation();
      graphics.drawImage(img.getAsBufferedImage(),null,0,0);
    }
 else     if (instr instanceof TransformOperation) {
      graphics=(Graphics2D)bi.getGraphics();
      PlanarImage image=((TransformOperation)instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi));
      bi=image.getAsBufferedImage();
    }
  }
  return PlanarImage.wrapRenderedImage(bi);
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}. 
 */
public PlanarImage executeDrawOperation(){
  log("String_Node_Str" + width + "String_Node_Str"+ height+ "String_Node_Str"+ arcwidth+ "String_Node_Str"+ archeight);
  BufferedImage bi=new BufferedImage(width,height,BufferedImage.TYPE_4BYTE_ABGR_PRE);
  Graphics2D graphics=(Graphics2D)bi.getGraphics();
  if (!stroke.equals("String_Node_Str")) {
    BasicStroke bStroke=new BasicStroke(stroke_width);
    graphics.setColor(ColorMapper.getColorByName(stroke));
    graphics.setStroke(bStroke);
    if ((arcwidth != 0) || (archeight != 0)) {
      graphics.drawRoundRect(0,0,width,height,arcwidth,archeight);
    }
 else {
      graphics.drawRect(0,0,width,height);
    }
  }
  if (!fill.equals("String_Node_Str")) {
    graphics.setColor(ColorMapper.getColorByName(fill));
    if ((arcwidth != 0) || (archeight != 0)) {
      graphics.fillRoundRect(stroke_width,stroke_width,width - (stroke_width * 2),height - (stroke_width * 2),arcwidth,archeight);
    }
 else {
      graphics.fillRect(stroke_width,stroke_width,width - (stroke_width * 2),height - (stroke_width * 2));
    }
  }
  final int size=instructions.size();
  for (int i=0; i < size; i++) {
    ImageOperation instr=((ImageOperation)instructions.elementAt(i));
    if (instr instanceof DrawOperation) {
      PlanarImage img=((DrawOperation)instr).executeDrawOperation();
      graphics.drawImage(img.getAsBufferedImage(),null,0,0);
    }
 else     if (instr instanceof TransformOperation) {
      PlanarImage image=((TransformOperation)instr).executeTransformOperation(PlanarImage.wrapRenderedImage(bi));
      bi=image.getAsBufferedImage();
      graphics=(Graphics2D)bi.getGraphics();
    }
  }
  return PlanarImage.wrapRenderedImage(bi);
}