Program: 79012
Project: 79012
Buggy source:
public Chart getModel(String sSubType,Orientation orientation,String sDimension,Chart currentChart){
  ChartWithAxes newChart=null;
  if (currentChart != null) {
    newChart=(ChartWithAxes)getConvertedChart(currentChart,sSubType,orientation,sDimension);
    if (newChart != null) {
      return newChart;
    }
  }
  newChart=ChartWithAxesImpl.create();
  newChart.setType(TYPE_LITERAL);
  newChart.setSubType(sSubType);
  newChart.setOrientation(orientation);
  newChart.setDimension(getDimensionFor(sDimension));
  newChart.setUnits("String_Node_Str");
  ((Axis)newChart.getAxes().get(0)).setOrientation(Orientation.HORIZONTAL_LITERAL);
  ((Axis)newChart.getAxes().get(0)).setType(AxisType.LINEAR_LITERAL);
  ((Axis)newChart.getAxes().get(0)).setCategoryAxis(false);
  SeriesDefinition sdX=SeriesDefinitionImpl.create();
  Series baseSeries=SeriesImpl.create();
  sdX.getSeries().add(baseSeries);
  sdX.getSeriesPalette().update(0);
  ((Axis)newChart.getAxes().get(0)).getSeriesDefinitions().add(sdX);
  newChart.getTitle().getLabel().getCaption().setValue("String_Node_Str");
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).setOrientation(Orientation.VERTICAL_LITERAL);
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).setType(AxisType.LINEAR_LITERAL);
  SeriesDefinition sdY=SeriesDefinitionImpl.create();
  sdY.getSeriesPalette().update(0);
  Series orthogonalSeries=ScatterSeriesImpl.create();
  orthogonalSeries.getLabel().setVisible(true);
  ((ScatterSeries)orthogonalSeries).setStacked(false);
  sdY.getSeries().add(orthogonalSeries);
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).getSeriesDefinitions().add(sdY);
  if (sSubType.equalsIgnoreCase("String_Node_Str")) {
    newChart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);
  }
  addSampleData(newChart);
  return newChart;
}

Fixed version (ground truth):
public Chart getModel(String sSubType,Orientation orientation,String sDimension,Chart currentChart){
  ChartWithAxes newChart=null;
  if (currentChart != null) {
    newChart=(ChartWithAxes)getConvertedChart(currentChart,sSubType,orientation,sDimension);
    if (newChart != null) {
      return newChart;
    }
  }
  newChart=ChartWithAxesImpl.create();
  newChart.setType(TYPE_LITERAL);
  newChart.setSubType(sSubType);
  newChart.setOrientation(orientation);
  newChart.setDimension(getDimensionFor(sDimension));
  newChart.setUnits("String_Node_Str");
  ((Axis)newChart.getAxes().get(0)).setOrientation(Orientation.HORIZONTAL_LITERAL);
  ((Axis)newChart.getAxes().get(0)).setType(AxisType.LINEAR_LITERAL);
  ((Axis)newChart.getAxes().get(0)).setCategoryAxis(false);
  SeriesDefinition sdX=SeriesDefinitionImpl.create();
  Series baseSeries=SeriesImpl.create();
  sdX.getSeries().add(baseSeries);
  sdX.getSeriesPalette().update(0);
  ((Axis)newChart.getAxes().get(0)).getSeriesDefinitions().add(sdX);
  newChart.getTitle().getLabel().getCaption().setValue(CHART_TITLE);
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).setOrientation(Orientation.VERTICAL_LITERAL);
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).setType(AxisType.LINEAR_LITERAL);
  SeriesDefinition sdY=SeriesDefinitionImpl.create();
  sdY.getSeriesPalette().update(0);
  Series orthogonalSeries=ScatterSeriesImpl.create();
  orthogonalSeries.getLabel().setVisible(true);
  ((ScatterSeries)orthogonalSeries).setStacked(false);
  sdY.getSeries().add(orthogonalSeries);
  ((Axis)((Axis)newChart.getAxes().get(0)).getAssociatedAxes().get(0)).getSeriesDefinitions().add(sdY);
  if (sSubType.equalsIgnoreCase("String_Node_Str")) {
    newChart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);
  }
  addSampleData(newChart);
  return newChart;
}