Program: 66005
Project: 66005
Buggy source:
public void createControl(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.SUBTASK_CHART);
  init();
  cmpContent=new Composite(parent,SWT.NONE);
{
    GridLayout glContent=new GridLayout(3,true);
    cmpContent.setLayout(glContent);
    GridData gd=new GridData(GridData.FILL_BOTH);
    cmpContent.setLayoutData(gd);
  }
  Composite cmpBasic=new Composite(cmpContent,SWT.NONE);
{
    cmpBasic.setLayout(new GridLayout(3,false));
    GridData gd=new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan=2;
    cmpBasic.setLayoutData(gd);
  }
  initOptionUI(cmpBasic);
  Label lblBackground=new Label(cmpBasic,SWT.NONE);
  lblBackground.setText(Messages.getString("String_Node_Str"));
  cmbBackground=new FillChooserComposite(cmpBasic,SWT.NONE,getBackgroundFillStyles(),getContext(),getChart().getBlock().getBackground());
{
    GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
    cmbBackground.setLayoutData(gridData);
    cmbBackground.addListener(this);
  }
  new Label(cmpBasic,SWT.NONE);
  if (hasWallAndFloor()) {
    Label lblWall=new Label(cmpBasic,SWT.NONE);
    lblWall.setLayoutData(new GridData());
    lblWall.setText(Messages.getString("String_Node_Str"));
    fccWall=new FillChooserComposite(cmpBasic,SWT.NONE,getContext(),((ChartWithAxes)getChart()).getWallFill(),true,true,true,true);
    GridData gdFCCWall=new GridData(GridData.FILL_HORIZONTAL);
    fccWall.setLayoutData(gdFCCWall);
    fccWall.addListener(this);
    new Label(cmpBasic,SWT.NONE);
    Label lblFloor=new Label(cmpBasic,SWT.NONE);
    lblFloor.setLayoutData(new GridData());
    lblFloor.setText(Messages.getString("String_Node_Str"));
    fccFloor=new FillChooserComposite(cmpBasic,SWT.NONE,getContext(),((ChartWithAxes)getChart()).getFloorFill(),true,true,true,true);
    GridData gdFCCFloor=new GridData(GridData.FILL_HORIZONTAL);
    fccFloor.setLayoutData(gdFCCFloor);
    fccFloor.addListener(this);
    new Label(cmpBasic,SWT.NONE);
  }
  createStyleNPreviewUI(cmpBasic);
  Group grpEmptyMsg=new Group(cmpBasic,SWT.NONE);
{
{
      grpEmptyMsg.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.horizontalSpan=3;
      grpEmptyMsg.setLayoutData(gd);
      grpEmptyMsg.setLayout(new GridLayout(1,false));
    }
    org.eclipse.birt.chart.model.component.Label laEmptyMsg=getChart().getEmptyMessage();
    btnMegAuto=new Button(grpEmptyMsg,SWT.RADIO);
    btnMegAuto.setText(ChartUIExtensionUtil.getAutoMessage());
    btnMegAuto.setSelection(!laEmptyMsg.isSetVisible());
    btnMegAuto.addListener(SWT.Selection,this);
    btnAutoHide=new Button(grpEmptyMsg,SWT.RADIO);
{
      btnAutoHide.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData();
      btnAutoHide.setLayoutData(gd);
      btnAutoHide.setSelection(laEmptyMsg.isSetVisible() && !laEmptyMsg.isVisible());
      btnAutoHide.addListener(SWT.Selection,this);
    }
    btnShowEmptyMsg=new Button(grpEmptyMsg,SWT.RADIO);
{
      btnShowEmptyMsg.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData();
      btnShowEmptyMsg.setLayoutData(gd);
      btnShowEmptyMsg.setSelection(laEmptyMsg.isSetVisible() && laEmptyMsg.isVisible());
      btnShowEmptyMsg.addListener(SWT.Selection,this);
    }
    Composite cmpEmptyText=new Composite(grpEmptyMsg,SWT.NONE);
{
      GridData gd=new GridData(GridData.FILL_BOTH);
      gd.horizontalIndent=12;
      cmpEmptyText.setLayoutData(gd);
      cmpEmptyText.setLayout(new GridLayout(2,false));
    }
    lbTxtEmptyMsg=new Label(cmpEmptyText,SWT.NONE);
    lbTxtEmptyMsg.setText(Messages.getString("String_Node_Str"));
    List<String> keys=null;
    if (getContext().getUIServiceProvider() != null) {
      keys=getContext().getUIServiceProvider().getRegisteredKeys();
    }
    txtEmptyMsg=new ExternalizedTextEditorComposite(cmpEmptyText,SWT.BORDER,-1,-1,keys,getContext().getUIServiceProvider(),laEmptyMsg.getCaption().getValue());
{
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.widthHint=200;
      txtEmptyMsg.setLayoutData(gd);
      txtEmptyMsg.addListener(this);
    }
    lbFdcEmptyMsg=new Label(cmpEmptyText,SWT.NONE);
    lbFdcEmptyMsg.setText(Messages.getString("String_Node_Str"));
    fdcEmptyMsg=new FontDefinitionComposite(cmpEmptyText,SWT.NONE,getContext(),laEmptyMsg.getCaption().getFont(),laEmptyMsg.getCaption().getColor(),true);
{
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.widthHint=200;
      gd.grabExcessVerticalSpace=false;
      fdcEmptyMsg.setLayoutData(gd);
      fdcEmptyMsg.addListener(this);
    }
    updateEmptyMessageUIStates();
  }
  Composite cmp3D=new Composite(cmpContent,SWT.NONE);
{
    cmp3D.setLayout(new GridLayout());
    cmp3D.setLayoutData(new GridData(GridData.FILL_BOTH));
  }
  if ((getChart() instanceof ChartWithAxes) && is3DEnabled()) {
    Group cmpRotation=new Group(cmp3D,SWT.NONE);
{
      GridLayout gl=new GridLayout();
      gl.marginTop=0;
      gl.verticalSpacing=0;
      cmpRotation.setLayout(gl);
      cmpRotation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      cmpRotation.setText(Messages.getString("String_Node_Str"));
    }
    xChooser=new AxisRotationChooser(ChartUIUtil.getAxisXForProcessing((ChartWithAxes)getChart()),AngleType.X);
    xChooser.placeComponents(cmpRotation);
    yChooser=new AxisRotationChooser(ChartUIUtil.getAxisYForProcessing((ChartWithAxes)getChart(),0),AngleType.Y);
    yChooser.placeComponents(cmpRotation);
    zChooser=new AxisRotationChooser(ChartUIUtil.getAxisZForProcessing((ChartWithAxes)getChart()),AngleType.Z);
    zChooser.placeComponents(cmpRotation);
    btnResetValue=new Button(cmpRotation,SWT.PUSH);
{
      btnResetValue.setText(Messages.getString("String_Node_Str"));
      btnResetValue.setSelection(ChartPreviewPainterBase.isProcessorEnabled());
      btnResetValue.addSelectionListener(this);
    }
  }
 else   if (getChart() instanceof ChartWithoutAxes) {
    ChartWithoutAxes cwa=(ChartWithoutAxes)getChart();
    new Label(cmpBasic,SWT.NONE).setText(Messages.getString("String_Node_Str"));
    Composite cmpCoverage=new Composite(cmpBasic,SWT.NONE);
{
      cmpCoverage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      GridLayout layout=new GridLayout(2,false);
      layout.verticalSpacing=0;
      layout.marginHeight=0;
      layout.marginWidth=0;
      cmpCoverage.setLayout(layout);
    }
    spnCorverage=new Spinner(cmpCoverage,SWT.BORDER);
{
      int spnValue=(int)(cwa.getCoverage() * 100);
      if (!cwa.isSetCoverage()) {
        spnValue=DEFAULT_COVERAGE;
      }
      spnCorverage.setValues(spnValue,1,100,0,1,10);
      spnCorverage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      spnCorverage.setEnabled(cwa.isSetCoverage());
      spnCorverage.addSelectionListener(this);
    }
    new Label(cmpCoverage,SWT.NONE).setText("String_Node_Str");
    btnCoverageAuto=new Button(cmpBasic,SWT.CHECK);
    btnCoverageAuto.setText(Messages.getString("String_Node_Str"));
    btnCoverageAuto.setSelection(!cwa.isSetCoverage());
    btnCoverageAuto.addSelectionListener(this);
  }
  btnEnable=new TristateCheckbox(cmpBasic,SWT.NONE);
{
    GridData gridData=new GridData();
    gridData.horizontalSpan=3;
    btnEnable.setLayoutData(gridData);
    btnEnable.setText(Messages.getString("String_Node_Str"));
    btnEnable.setSelectionState(!getChart().getInteractivity().isSetEnable() ? TristateCheckbox.STATE_GRAYED : (getChart().getInteractivity().isEnable() ? TristateCheckbox.STATE_SELECTED : TristateCheckbox.STATE_UNSELECTED));
    btnEnable.addSelectionListener(this);
  }
  if (ChartUtil.hasMultipleYAxes(getChart())) {
    btnStudyLayout=new TristateCheckbox(cmpBasic,SWT.NONE);
    GridData gridData=new GridData();
    gridData.horizontalSpan=3;
    btnStudyLayout.setLayoutData(gridData);
    btnStudyLayout.setText(Messages.getString("String_Node_Str"));
    btnStudyLayout.setSelectionState(((ChartWithAxes)getChart()).isSetStudyLayout() ? (((ChartWithAxes)getChart()).isStudyLayout() ? TristateCheckbox.STATE_SELECTED : TristateCheckbox.STATE_UNSELECTED) : TristateCheckbox.STATE_GRAYED);
    btnStudyLayout.addSelectionListener(this);
  }
  populateLists();
  createButtonGroup(cmpContent);
}

Fixed version (ground truth):
public void createControl(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.SUBTASK_CHART);
  init();
  cmpContent=new Composite(parent,SWT.NONE);
{
    GridLayout glContent=new GridLayout(3,true);
    cmpContent.setLayout(glContent);
    GridData gd=new GridData(GridData.FILL_BOTH);
    cmpContent.setLayoutData(gd);
  }
  Composite cmpBasic=new Composite(cmpContent,SWT.NONE);
{
    cmpBasic.setLayout(new GridLayout(3,false));
    GridData gd=new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan=2;
    cmpBasic.setLayoutData(gd);
  }
  initOptionUI(cmpBasic);
  Label lblBackground=new Label(cmpBasic,SWT.NONE);
  lblBackground.setText(Messages.getString("String_Node_Str"));
  cmbBackground=new FillChooserComposite(cmpBasic,SWT.NONE,getBackgroundFillStyles(),getContext(),getChart().getBlock().getBackground());
{
    GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
    cmbBackground.setLayoutData(gridData);
    cmbBackground.addListener(this);
  }
  new Label(cmpBasic,SWT.NONE);
  if (hasWallAndFloor()) {
    Label lblWall=new Label(cmpBasic,SWT.NONE);
    lblWall.setLayoutData(new GridData());
    lblWall.setText(Messages.getString("String_Node_Str"));
    fccWall=new FillChooserComposite(cmpBasic,SWT.NONE,getContext(),((ChartWithAxes)getChart()).getWallFill(),true,true,true,true);
    GridData gdFCCWall=new GridData(GridData.FILL_HORIZONTAL);
    fccWall.setLayoutData(gdFCCWall);
    fccWall.addListener(this);
    new Label(cmpBasic,SWT.NONE);
    Label lblFloor=new Label(cmpBasic,SWT.NONE);
    lblFloor.setLayoutData(new GridData());
    lblFloor.setText(Messages.getString("String_Node_Str"));
    fccFloor=new FillChooserComposite(cmpBasic,SWT.NONE,getContext(),((ChartWithAxes)getChart()).getFloorFill(),true,true,true,true);
    GridData gdFCCFloor=new GridData(GridData.FILL_HORIZONTAL);
    fccFloor.setLayoutData(gdFCCFloor);
    fccFloor.addListener(this);
    new Label(cmpBasic,SWT.NONE);
  }
  createStyleNPreviewUI(cmpBasic);
  Group grpEmptyMsg=new Group(cmpBasic,SWT.NONE);
{
{
      grpEmptyMsg.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.horizontalSpan=3;
      grpEmptyMsg.setLayoutData(gd);
      grpEmptyMsg.setLayout(new GridLayout(1,false));
    }
    org.eclipse.birt.chart.model.component.Label laEmptyMsg=getChart().getEmptyMessage();
    btnMegAuto=new Button(grpEmptyMsg,SWT.RADIO);
    btnMegAuto.setText(ChartUIExtensionUtil.getAutoMessage());
    btnMegAuto.setSelection(!laEmptyMsg.isSetVisible());
    btnMegAuto.addListener(SWT.Selection,this);
    btnAutoHide=new Button(grpEmptyMsg,SWT.RADIO);
{
      btnAutoHide.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData();
      btnAutoHide.setLayoutData(gd);
      btnAutoHide.setSelection(laEmptyMsg.isSetVisible() && !laEmptyMsg.isVisible());
      btnAutoHide.addListener(SWT.Selection,this);
    }
    btnShowEmptyMsg=new Button(grpEmptyMsg,SWT.RADIO);
{
      btnShowEmptyMsg.setText(Messages.getString("String_Node_Str"));
      GridData gd=new GridData();
      btnShowEmptyMsg.setLayoutData(gd);
      btnShowEmptyMsg.setSelection(laEmptyMsg.isSetVisible() && laEmptyMsg.isVisible());
      btnShowEmptyMsg.addListener(SWT.Selection,this);
    }
    Composite cmpEmptyText=new Composite(grpEmptyMsg,SWT.NONE);
{
      GridData gd=new GridData(GridData.FILL_BOTH);
      gd.horizontalIndent=12;
      cmpEmptyText.setLayoutData(gd);
      cmpEmptyText.setLayout(new GridLayout(2,false));
    }
    lbTxtEmptyMsg=new Label(cmpEmptyText,SWT.NONE);
    lbTxtEmptyMsg.setText(Messages.getString("String_Node_Str"));
    List<String> keys=null;
    if (getContext().getUIServiceProvider() != null) {
      keys=getContext().getUIServiceProvider().getRegisteredKeys();
    }
    txtEmptyMsg=new ExternalizedTextEditorComposite(cmpEmptyText,SWT.BORDER,-1,-1,keys,getContext().getUIServiceProvider(),laEmptyMsg.getCaption().getValue());
{
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.widthHint=200;
      txtEmptyMsg.setLayoutData(gd);
      txtEmptyMsg.addListener(this);
    }
    lbFdcEmptyMsg=new Label(cmpEmptyText,SWT.NONE);
    lbFdcEmptyMsg.setText(Messages.getString("String_Node_Str"));
    fdcEmptyMsg=new FontDefinitionComposite(cmpEmptyText,SWT.NONE,getContext(),laEmptyMsg.getCaption().getFont(),laEmptyMsg.getCaption().getColor(),true);
{
      GridData gd=new GridData(GridData.FILL_HORIZONTAL);
      gd.widthHint=200;
      gd.grabExcessVerticalSpace=false;
      fdcEmptyMsg.setLayoutData(gd);
      fdcEmptyMsg.addListener(this);
    }
    updateEmptyMessageUIStates();
  }
  Composite cmp3D=new Composite(cmpContent,SWT.NONE);
{
    cmp3D.setLayout(new GridLayout());
    cmp3D.setLayoutData(new GridData(GridData.FILL_BOTH));
  }
  if ((getChart() instanceof ChartWithAxes) && is3DEnabled()) {
    Group cmpRotation=new Group(cmp3D,SWT.NONE);
{
      GridLayout gl=new GridLayout();
      gl.marginTop=0;
      gl.verticalSpacing=0;
      cmpRotation.setLayout(gl);
      cmpRotation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      cmpRotation.setText(Messages.getString("String_Node_Str"));
    }
    xChooser=new AxisRotationChooser(ChartUIUtil.getAxisXForProcessing((ChartWithAxes)getChart()),AngleType.X);
    xChooser.placeComponents(cmpRotation);
    yChooser=new AxisRotationChooser(ChartUIUtil.getAxisYForProcessing((ChartWithAxes)getChart(),0),AngleType.Y);
    yChooser.placeComponents(cmpRotation);
    zChooser=new AxisRotationChooser(ChartUIUtil.getAxisZForProcessing((ChartWithAxes)getChart()),AngleType.Z);
    zChooser.placeComponents(cmpRotation);
    btnResetValue=new Button(cmpRotation,SWT.PUSH);
{
      btnResetValue.setText(Messages.getString("String_Node_Str"));
      btnResetValue.setSelection(ChartPreviewPainterBase.isProcessorEnabled());
      btnResetValue.addSelectionListener(this);
    }
  }
 else   if (getChart() instanceof ChartWithoutAxes) {
    ChartWithoutAxes cwa=(ChartWithoutAxes)getChart();
    new Label(cmpBasic,SWT.NONE).setText(Messages.getString("String_Node_Str"));
    Composite cmpCoverage=new Composite(cmpBasic,SWT.NONE);
{
      cmpCoverage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      GridLayout layout=new GridLayout(2,false);
      layout.verticalSpacing=0;
      layout.marginHeight=0;
      layout.marginWidth=0;
      cmpCoverage.setLayout(layout);
    }
    spnCorverage=new Spinner(cmpCoverage,SWT.BORDER);
{
      int spnValue=(int)(cwa.getCoverage() * 100);
      if (!cwa.isSetCoverage()) {
        spnValue=DEFAULT_COVERAGE;
      }
      spnCorverage.setValues(spnValue,1,100,0,1,10);
      spnCorverage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      spnCorverage.setEnabled(cwa.isSetCoverage());
      spnCorverage.addSelectionListener(this);
    }
    new Label(cmpCoverage,SWT.NONE).setText("String_Node_Str");
    btnCoverageAuto=new Button(cmpBasic,SWT.CHECK);
    btnCoverageAuto.setText(Messages.getString("String_Node_Str"));
    btnCoverageAuto.setSelection(!cwa.isSetCoverage());
    btnCoverageAuto.addSelectionListener(this);
  }
  btnEnable=new TristateCheckbox(cmpBasic,SWT.NONE);
{
    GridData gridData=new GridData();
    gridData.horizontalSpan=3;
    btnEnable.setLayoutData(gridData);
    btnEnable.setText(Messages.getString("String_Node_Str"));
    btnEnable.setSelectionState(!getChart().getInteractivity().isSetEnable() ? TristateCheckbox.STATE_GRAYED : (getChart().getInteractivity().isEnable() ? TristateCheckbox.STATE_SELECTED : TristateCheckbox.STATE_UNSELECTED));
    btnEnable.addSelectionListener(this);
  }
  if (enableStudyLayout()) {
    btnStudyLayout=new TristateCheckbox(cmpBasic,SWT.NONE);
    GridData gridData=new GridData();
    gridData.horizontalSpan=3;
    btnStudyLayout.setLayoutData(gridData);
    btnStudyLayout.setText(Messages.getString("String_Node_Str"));
    btnStudyLayout.setSelectionState(((ChartWithAxes)getChart()).isSetStudyLayout() ? (((ChartWithAxes)getChart()).isStudyLayout() ? TristateCheckbox.STATE_SELECTED : TristateCheckbox.STATE_UNSELECTED) : TristateCheckbox.STATE_GRAYED);
    btnStudyLayout.addSelectionListener(this);
  }
  populateLists();
  createButtonGroup(cmpContent);
}