Program: 71456
Project: 71456
Buggy source:
/** 
 * @param renderer
 * @param labelPosition IConstants. LEFT, RIGHT, ABOVE or BELOW
 * @param location POINT WHERE THE CORNER OF THE ROTATED RECTANGLE (OR EDGE CENTERED) IS RENDERED
 * @param label
 * @throws RenderingException
 */
public final void renderTextAtLocation(IPrimitiveRenderer renderer,int labelPosition,Location location,Label label) throws ChartException {
  final ColorDefinition colorDef=label.getCaption().getColor();
  if (colorDef == null) {
    throw new ChartException(ChartDeviceExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",Messages.getResourceBundle(_sxs.getULocale()));
  }
  final Graphics2D g2d=(Graphics2D)((IDeviceRenderer)renderer).getGraphicsContext();
  g2d.setFont((java.awt.Font)_sxs.createFont(label.getCaption().getFont()));
switch (labelPosition & POSITION_MASK) {
case ABOVE:
    if (ChartUtil.isShadowDefined(label)) {
      showTopValue(renderer,location,label,labelPosition,true);
    }
  showTopValue(renderer,location,label,labelPosition,false);
break;
case BELOW:
if (ChartUtil.isShadowDefined(label)) {
showBottomValue(renderer,location,label,labelPosition,true);
}
showBottomValue(renderer,location,label,labelPosition,false);
break;
case LEFT:
if (ChartUtil.isShadowDefined(label)) {
showLeftValue(renderer,location,label,labelPosition,true);
}
showLeftValue(renderer,location,label,labelPosition,false);
break;
case RIGHT:
if (ChartUtil.isShadowDefined(label)) {
showRightValue(renderer,location,label,labelPosition,true);
}
showRightValue(renderer,location,label,labelPosition,false);
break;
case INSIDE:
if (ChartUtil.isShadowDefined(label)) {
showCenterValue(renderer,location,label,true);
}
showCenterValue(renderer,location,label,false);
break;
}
}

Fixed version (ground truth):
/** 
 * @param renderer
 * @param labelPosition IConstants. LEFT, RIGHT, ABOVE or BELOW
 * @param location POINT WHERE THE CORNER OF THE ROTATED RECTANGLE (OR EDGE CENTERED) IS RENDERED
 * @param label
 * @throws ChartException
 */
public final void renderTextAtLocation(IPrimitiveRenderer renderer,int labelPosition,Location location,Label label) throws ChartException {
  final ColorDefinition colorDef=label.getCaption().getColor();
  if (colorDef == null) {
    throw new ChartException(ChartDeviceExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",Messages.getResourceBundle(_sxs.getULocale()));
  }
  final Graphics2D g2d=(Graphics2D)((IDeviceRenderer)renderer).getGraphicsContext();
  g2d.setFont((java.awt.Font)_sxs.createFont(label.getCaption().getFont()));
switch (labelPosition & POSITION_MASK) {
case ABOVE:
    if (ChartUtil.isShadowDefined(label)) {
      showTopValue(renderer,location,label,labelPosition,true);
    }
  showTopValue(renderer,location,label,labelPosition,false);
break;
case BELOW:
if (ChartUtil.isShadowDefined(label)) {
showBottomValue(renderer,location,label,labelPosition,true);
}
showBottomValue(renderer,location,label,labelPosition,false);
break;
case LEFT:
if (ChartUtil.isShadowDefined(label)) {
showLeftValue(renderer,location,label,labelPosition,true);
}
showLeftValue(renderer,location,label,labelPosition,false);
break;
case RIGHT:
if (ChartUtil.isShadowDefined(label)) {
showRightValue(renderer,location,label,labelPosition,true);
}
showRightValue(renderer,location,label,labelPosition,false);
break;
case INSIDE:
if (ChartUtil.isShadowDefined(label)) {
showCenterValue(renderer,location,label,true);
}
showCenterValue(renderer,location,label,false);
break;
}
}