Program: 66709
Project: 66709
Buggy source:
public void renderLegendGraphic(IPrimitiveRenderer ipr,Legend lg,Fill fPaletteEntry,Bounds bo) throws ChartException {
  if ((bo.getWidth() == 0) && (bo.getHeight() == 0)) {
    return;
  }
  final ClientArea ca=lg.getClientArea();
  final LineAttributes lia=ca.getOutline();
  final RadarSeries ls=(RadarSeries)getSeries();
  if (fPaletteEntry == null) {
    fPaletteEntry=ColorDefinitionImpl.RED();
  }
  final RectangleRenderEvent rre=((EventObjectCache)ipr).getEventObject(StructureSource.createLegend(lg),RectangleRenderEvent.class);
  rre.setBackground(ca.getBackground());
  rre.setOutline(lia);
  rre.setBounds(bo);
  ipr.fillRectangle(rre);
  LineAttributes liaMarker=ls.getLineAttributes();
  if (!liaMarker.isSetVisible()) {
    throw new ChartException(ChartEngineExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",Messages.getResourceBundle(getRunTimeContext().getULocale()));
  }
  if (liaMarker.isVisible()) {
    final LineRenderEvent lre=((EventObjectCache)ipr).getEventObject(StructureSource.createLegend(lg),LineRenderEvent.class);
    if (fPaletteEntry instanceof ColorDefinition && (ls.isSetPaletteLineColor() && ls.isPaletteLineColor())) {
      liaMarker=goFactory.copyOf(liaMarker);
      liaMarker.setColor(goFactory.copyOf(FillUtil.getColor(fPaletteEntry)));
    }
    lre.setLineAttributes(liaMarker);
    lre.setStart(LocationImpl.create(bo.getLeft() + 1,bo.getTop() + bo.getHeight() / 2));
    lre.setEnd(LocationImpl.create(bo.getLeft() + bo.getWidth() - 1,bo.getTop() + bo.getHeight() / 2));
    ipr.drawLine(lre);
  }
  SeriesDefinition sd=getSeriesDefinition();
  final boolean bPaletteByCategory=isPaletteByCategory();
  if (bPaletteByCategory && ls.eContainer() instanceof SeriesDefinition) {
    sd=(SeriesDefinition)ls.eContainer();
  }
  int iThisSeriesIndex=sd.getRunTimeSeries().indexOf(ls);
  if (iThisSeriesIndex < 0) {
    throw new ChartException(ChartEngineExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",new Object[]{ls,sd},Messages.getResourceBundle(getRunTimeContext().getULocale()));
  }
  Marker m=null;
  m=ls.getMarker();
  double width=bo.getWidth() / getDeviceScale();
  double height=bo.getHeight() / getDeviceScale();
  int markerSize=(int)(((width > height ? height : width) - 2) / 2);
  if (markerSize <= 0) {
    markerSize=1;
  }
  if (m != null && m.isVisible()) {
    renderMarker(lg,ipr,m,LocationImpl.create(bo.getLeft() + bo.getWidth() / 2,bo.getTop() + bo.getHeight() / 2),ls.getLineAttributes(),fPaletteEntry,null,new Integer(markerSize),false,false);
  }
}

Fixed version (ground truth):
public void renderLegendGraphic(IPrimitiveRenderer ipr,Legend lg,Fill fPaletteEntry,Bounds bo) throws ChartException {
  if ((bo.getWidth() == 0) && (bo.getHeight() == 0)) {
    return;
  }
  final ClientArea ca=lg.getClientArea();
  final LineAttributes lia=ca.getOutline();
  final RadarSeries ls=(RadarSeries)getSeries();
  if (fPaletteEntry == null) {
    fPaletteEntry=ColorDefinitionImpl.RED();
  }
  final RectangleRenderEvent rre=((EventObjectCache)ipr).getEventObject(StructureSource.createLegend(lg),RectangleRenderEvent.class);
  rre.setBackground(ca.getBackground());
  rre.setOutline(lia);
  rre.setBounds(bo);
  ipr.fillRectangle(rre);
  LineAttributes liaMarker=ls.getLineAttributes();
  if (!liaMarker.isSetVisible()) {
    throw new ChartException(ChartEngineExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",Messages.getResourceBundle(getRunTimeContext().getULocale()));
  }
  if (liaMarker.isVisible()) {
    final LineRenderEvent lre=((EventObjectCache)ipr).getEventObject(StructureSource.createLegend(lg),LineRenderEvent.class);
    if (fPaletteEntry instanceof ColorDefinition && (ls.isSetPaletteLineColor() && ls.isPaletteLineColor())) {
      liaMarker=goFactory.copyOf(liaMarker);
      liaMarker.setColor(goFactory.copyOf(FillUtil.getColor(fPaletteEntry)));
    }
    lre.setLineAttributes(liaMarker);
    lre.setStart(LocationImpl.create(bo.getLeft() + 1,bo.getTop() + bo.getHeight() / 2));
    lre.setEnd(LocationImpl.create(bo.getLeft() + bo.getWidth() - 1,bo.getTop() + bo.getHeight() / 2));
    ipr.drawLine(lre);
  }
  SeriesDefinition sd=getSeriesDefinition();
  final boolean bPaletteByCategory=isPaletteByCategory();
  if (bPaletteByCategory && ls.eContainer() instanceof SeriesDefinition) {
    sd=(SeriesDefinition)ls.eContainer();
  }
  int iThisSeriesIndex=sd.getRunTimeSeries().indexOf(ls);
  if (iThisSeriesIndex < 0) {
    throw new ChartException(ChartEngineExtensionPlugin.ID,ChartException.RENDERING,"String_Node_Str",new Object[]{ls,sd},Messages.getResourceBundle(getRunTimeContext().getULocale()));
  }
  Marker m=null;
  m=ls.getMarker();
  double width=bo.getWidth() / getDeviceScale();
  double height=bo.getHeight() / getDeviceScale();
  int markerSize=(int)(((width > height ? height : width) - 2) / 2);
  if (markerSize <= 0) {
    markerSize=1;
  }
  if (m != null && m.isVisible()) {
    renderMarker(lg,ipr,m,LocationImpl.create(bo.getLeft() + bo.getWidth() / 2,bo.getTop() + bo.getHeight() / 2),ls.getLineAttributes(),fPaletteEntry,null,Integer.valueOf(markerSize),false,false);
  }
}