Program: 78434
Project: 78434
Buggy source:
/** 
 * @param _cwa
 * @param _render
 * @param _lia
 * @param _faX
 * @param _faY
 * @param _bShowAsTape
 */
public CurveRenderer(ChartWithAxes _cwa,BaseRenderer _render,LineAttributes _lia,Location[] _lo,double _zeroLocation,boolean _bShowAsTape,double _tapeWidth,boolean _bFillArea,boolean _bTranslucent,boolean _bUseLastState,boolean _bDeferred,boolean _bKeepState,Fill paletteEntry,boolean usePaletteLineColor){
  cwa=_cwa;
  bRendering3D=_lo instanceof Location3D[];
  loPoints=_lo;
  tempPoints=_lo;
  bFillArea=_bFillArea;
  bShowAsTape=_bShowAsTape;
  bDeferred=_bDeferred;
  loa=(bShowAsTape || bFillArea) ? new Location[4] : null;
  loa3d=(bRendering3D) ? new Location3D[4] : null;
  if (_tapeWidth == -1) {
    dTapeWidth=_cwa.getSeriesThickness();
  }
 else {
    dTapeWidth=_tapeWidth;
  }
  if (loa != null) {
    for (int i=0; i < 4; i++) {
      loa[i]=LocationImpl.create(0,0);
    }
  }
  if (loa3d != null) {
    for (int i=0; i < 4; i++) {
      loa3d[i]=Location3DImpl.create(0,0,0);
    }
  }
  lia=_lia;
  zeroLocation=_zeroLocation;
  bTranslucent=_bTranslucent;
  oSource=StructureSource.createSeries(_render.getSeries());
  dc=_render.getDeferredCache();
  this.iRender=_render;
  loStart=LocationImpl.create(0,0);
  loEnd=LocationImpl.create(0,0);
  bUseLastState=_bUseLastState;
  bKeepState=_bKeepState;
  if (paletteEntry instanceof ColorDefinition && usePaletteLineColor) {
    lia=(LineAttributes)EcoreUtil.copy(lia);
    lia.setColor((ColorDefinition)EcoreUtil.copy(paletteEntry));
  }
  if (bFillArea && paletteEntry instanceof ColorDefinition) {
    fillColor=(ColorDefinition)EcoreUtil.copy(paletteEntry);
    tapeColor=fillColor.brighter();
    sideColor=fillColor.darker();
  }
 else {
    fillColor=lia.getColor();
    tapeColor=lia.getColor().brighter();
    sideColor=lia.getColor().darker();
  }
  if (bTranslucent) {
    fillColor=fillColor.translucent();
    tapeColor=tapeColor.translucent();
    sideColor=sideColor.translucent();
  }
}

Fixed version (ground truth):
/** 
 * @param _cwa
 * @param _render
 * @param _lia
 * @param _faX
 * @param _faY
 * @param _bShowAsTape
 */
public CurveRenderer(ChartWithAxes _cwa,BaseRenderer _render,LineAttributes _lia,Location[] _lo,double _zeroLocation,boolean _bShowAsTape,double _tapeWidth,boolean _bFillArea,boolean _bTranslucent,boolean _bUseLastState,boolean _bDeferred,boolean _bKeepState,Fill paletteEntry,boolean usePaletteLineColor,boolean connectMissingValue){
  cwa=_cwa;
  bRendering3D=_lo instanceof Location3D[];
  loPoints=_lo;
  tempPoints=_lo;
  bConnectMissingValue=connectMissingValue;
  bFillArea=_bFillArea;
  bShowAsTape=_bShowAsTape;
  bDeferred=_bDeferred;
  loa=(bShowAsTape || bFillArea) ? new Location[4] : null;
  loa3d=(bRendering3D) ? new Location3D[4] : null;
  if (_tapeWidth == -1) {
    dTapeWidth=_cwa.getSeriesThickness();
  }
 else {
    dTapeWidth=_tapeWidth;
  }
  if (loa != null) {
    for (int i=0; i < 4; i++) {
      loa[i]=LocationImpl.create(0,0);
    }
  }
  if (loa3d != null) {
    for (int i=0; i < 4; i++) {
      loa3d[i]=Location3DImpl.create(0,0,0);
    }
  }
  lia=_lia;
  zeroLocation=_zeroLocation;
  bTranslucent=_bTranslucent;
  oSource=StructureSource.createSeries(_render.getSeries());
  dc=_render.getDeferredCache();
  this.iRender=_render;
  loStart=LocationImpl.create(0,0);
  loEnd=LocationImpl.create(0,0);
  bUseLastState=_bUseLastState;
  bKeepState=_bKeepState;
  if (paletteEntry instanceof ColorDefinition && usePaletteLineColor) {
    lia=(LineAttributes)EcoreUtil.copy(lia);
    lia.setColor((ColorDefinition)EcoreUtil.copy(paletteEntry));
  }
  if (bFillArea && paletteEntry instanceof ColorDefinition) {
    fillColor=(ColorDefinition)EcoreUtil.copy(paletteEntry);
    tapeColor=fillColor.brighter();
    sideColor=fillColor.darker();
  }
 else {
    fillColor=lia.getColor();
    tapeColor=lia.getColor().brighter();
    sideColor=lia.getColor().darker();
  }
  if (bTranslucent) {
    fillColor=fillColor.translucent();
    tapeColor=tapeColor.translucent();
    sideColor=sideColor.translucent();
  }
}