Program: 122303
Project: 122303
Buggy source:
/** 
 * DOC ycbai Comment method "createBuildScriptGroup".
 * @param optionsGroup
 */
private void createBuildScriptGroup(Composite optionsGroup){
  IExportJobResourcesService resourcesService=null;
  if (GlobalServiceRegister.getDefault().isServiceRegistered(IExportJobResourcesService.class)) {
    resourcesService=(IExportJobResourcesService)GlobalServiceRegister.getDefault().getService(IExportJobResourcesService.class);
  }
  if (resourcesService == null) {
    return;
  }
  Font font=optionsGroup.getFont();
  addBSButton=new Button(optionsGroup,SWT.CHECK | SWT.LEFT);
  addBSButton.setText(Messages.getString("String_Node_Str"));
  addBSButton.setFont(font);
  addBSButton.setEnabled(jobScriptButton.getSelection());
  addBSButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean selected=addBSButton.getSelection();
      addAntBSButton.setEnabled(selected);
      addMavenBSButton.setEnabled(selected);
      if (!selected) {
        addAntBSButton.setSelection(selected);
        addMavenBSButton.setSelection(selected);
      }
    }
  }
);
  buildScriptsGroup=new Composite(optionsGroup,SWT.NONE);
  GridLayout groupLayout=new GridLayout(2,true);
  groupLayout.marginWidth=0;
  groupLayout.marginHeight=0;
  buildScriptsGroup.setLayout(groupLayout);
  GridData groupData=new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
  groupData.horizontalSpan=2;
  buildScriptsGroup.setLayoutData(groupData);
  buildScriptsGroup.setFont(font);
  addAntBSButton=new Button(buildScriptsGroup,SWT.RADIO | SWT.LEFT);
  addAntBSButton.setText(Messages.getString("String_Node_Str"));
  addAntBSButton.setFont(font);
  addAntBSButton.setEnabled(addBSButton.getSelection());
  addMavenBSButton=new Button(buildScriptsGroup,SWT.RADIO | SWT.LEFT);
  addMavenBSButton.setText(Messages.getString("String_Node_Str"));
  addMavenBSButton.setFont(font);
  addMavenBSButton.setEnabled(addBSButton.getSelection());
  jobScriptButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean show=jobScriptButton.getSelection();
      addBSButton.setEnabled(show);
      addAntBSButton.setEnabled(addBSButton.getSelection());
      addMavenBSButton.setEnabled(addBSButton.getSelection());
      if (!show) {
        addAntBSButton.setSelection(show);
        addMavenBSButton.setSelection(show);
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * DOC ycbai Comment method "createBuildScriptGroup".
 * @param optionsGroup
 */
private void createBuildScriptGroup(Composite optionsGroup){
  IExportJobResourcesService resourcesService=null;
  if (GlobalServiceRegister.getDefault().isServiceRegistered(IExportJobResourcesService.class)) {
    resourcesService=(IExportJobResourcesService)GlobalServiceRegister.getDefault().getService(IExportJobResourcesService.class);
  }
  if (resourcesService == null) {
    return;
  }
  Font font=optionsGroup.getFont();
  addBSButton=new Button(optionsGroup,SWT.CHECK | SWT.LEFT);
  addBSButton.setText(Messages.getString("String_Node_Str"));
  addBSButton.setFont(font);
  addBSButton.setEnabled(jobScriptButton.getSelection());
  addBSButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean selected=addBSButton.getSelection();
      addAntBSButton.setEnabled(selected);
      addAntBSButton.setSelection(true);
      addMavenBSButton.setEnabled(selected);
      if (!selected) {
        addAntBSButton.setSelection(selected);
        addMavenBSButton.setSelection(selected);
      }
    }
  }
);
  buildScriptsGroup=new Composite(optionsGroup,SWT.NONE);
  GridLayout groupLayout=new GridLayout(2,true);
  groupLayout.marginWidth=0;
  groupLayout.marginHeight=0;
  buildScriptsGroup.setLayout(groupLayout);
  GridData groupData=new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
  groupData.horizontalSpan=2;
  buildScriptsGroup.setLayoutData(groupData);
  buildScriptsGroup.setFont(font);
  addAntBSButton=new Button(buildScriptsGroup,SWT.RADIO | SWT.LEFT);
  addAntBSButton.setText(Messages.getString("String_Node_Str"));
  addAntBSButton.setFont(font);
  addAntBSButton.setEnabled(addBSButton.getSelection());
  addMavenBSButton=new Button(buildScriptsGroup,SWT.RADIO | SWT.LEFT);
  addMavenBSButton.setText(Messages.getString("String_Node_Str"));
  addMavenBSButton.setFont(font);
  addMavenBSButton.setEnabled(addBSButton.getSelection());
  jobScriptButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean show=jobScriptButton.getSelection();
      addBSButton.setEnabled(show);
      addAntBSButton.setEnabled(addBSButton.getSelection());
      addMavenBSButton.setEnabled(addBSButton.getSelection());
      if (!show) {
        addAntBSButton.setSelection(show);
        addMavenBSButton.setSelection(show);
      }
    }
  }
);
}