Program: 126828
Project: 126828
Buggy source:
/** 
 * DOC ggu Comment method "createArchiveSelectionArea".
 * @param selectionArea
 */
private void createArchiveSelectionArea(Composite selectionArea){
  this.itemFromArchiveRadio=new Button(selectionArea,SWT.RADIO);
  this.itemFromArchiveRadio.setText(Messages.getString("String_Node_Str"));
  setButtonLayoutData(this.itemFromArchiveRadio);
  this.itemFromArchiveRadio.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      handleArchiveRadioSelected();
    }
  }
);
  this.archivePathField=new Text(selectionArea,SWT.BORDER);
  this.archivePathField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  this.archivePathField.addTraverseListener(new TraverseListener(){
    @Override public void keyTraversed(    TraverseEvent e){
      if (e.detail == SWT.TRAVERSE_RETURN) {
        e.doit=false;
        updateItemsList(archivePathField.getText().trim(),false,false);
      }
    }
  }
);
  this.archivePathField.addFocusListener(new FocusAdapter(){
    @Override public void focusLost(    org.eclipse.swt.events.FocusEvent e){
      updateItemsList(archivePathField.getText().trim(),false,false);
    }
  }
);
  this.browseArchivesButton=new Button(selectionArea,SWT.PUSH);
  this.browseArchivesButton.setText(Messages.getString("String_Node_Str"));
  setButtonLayoutData(this.browseArchivesButton);
  this.browseArchivesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      handleArchiveButtonPressed();
    }
  }
);
  if (isEnableForExchange()) {
    this.fromExchangeButton=new Button(selectionArea,SWT.PUSH);
    this.fromExchangeButton.setText(Messages.getString("String_Node_Str"));
    this.fromExchangeButton.setToolTipText(Messages.getString("String_Node_Str"));
    setButtonLayoutData(fromExchangeButton);
    this.fromExchangeButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        if (GlobalServiceRegister.getDefault().isServiceRegistered(IExchangeService.class)) {
          archivePathField.setEditable(false);
          IExchangeService service=(IExchangeService)GlobalServiceRegister.getDefault().getService(IExchangeService.class);
          String selectedArchive=service.openExchangeDialog();
          if (selectedArchive != null) {
            archivePathField.setText(previouslyBrowsedArchivePath);
            previouslyBrowsedArchivePath=selectedArchive;
            updateItemsList(selectedArchive,false,false);
          }
        }
 else {
          MessageDialog.openWarning(getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
        }
      }
    }
);
  }
}

Fixed version (ground truth):
/** 
 * DOC ggu Comment method "createArchiveSelectionArea".
 * @param selectionArea
 */
private void createArchiveSelectionArea(Composite selectionArea){
  this.itemFromArchiveRadio=new Button(selectionArea,SWT.RADIO);
  this.itemFromArchiveRadio.setText(Messages.getString("String_Node_Str"));
  setButtonLayoutData(this.itemFromArchiveRadio);
  this.itemFromArchiveRadio.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      handleArchiveRadioSelected();
    }
  }
);
  this.archivePathField=new Text(selectionArea,SWT.BORDER);
  this.archivePathField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
  this.archivePathField.addTraverseListener(new TraverseListener(){
    @Override public void keyTraversed(    TraverseEvent e){
      if (e.detail == SWT.TRAVERSE_RETURN) {
        e.doit=false;
        updateItemsList(archivePathField.getText().trim(),false,false);
      }
    }
  }
);
  this.archivePathField.addFocusListener(new FocusAdapter(){
    @Override public void focusLost(    org.eclipse.swt.events.FocusEvent e){
      updateItemsList(archivePathField.getText().trim(),false,false);
    }
  }
);
  this.browseArchivesButton=new Button(selectionArea,SWT.PUSH);
  this.browseArchivesButton.setText(Messages.getString("String_Node_Str"));
  setButtonLayoutData(this.browseArchivesButton);
  this.browseArchivesButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      handleArchiveButtonPressed();
    }
  }
);
  if (isEnableForExchange()) {
    this.fromExchangeButton=new Button(selectionArea,SWT.PUSH);
    this.fromExchangeButton.setText(Messages.getString("String_Node_Str"));
    this.fromExchangeButton.setToolTipText(Messages.getString("String_Node_Str"));
    setButtonLayoutData(fromExchangeButton);
    this.fromExchangeButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        if (GlobalServiceRegister.getDefault().isServiceRegistered(IExchangeService.class)) {
          archivePathField.setEditable(false);
          IExchangeService service=(IExchangeService)GlobalServiceRegister.getDefault().getService(IExchangeService.class);
          String selectedArchive=service.openExchangeDialog();
          if (selectedArchive != null) {
            previouslyBrowsedArchivePath=selectedArchive;
            archivePathField.setText(selectedArchive);
            updateItemsList(selectedArchive,false,false);
          }
        }
 else {
          MessageDialog.openWarning(getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
        }
      }
    }
);
  }
}