Program: 140797
Project: 140797
Buggy source:
/** 
 * @param form
 * @param toolkit
 * @param topComp
 */
void createInformationSection(final ScrolledForm form,Composite topComp){
  Section section=createSection(form,topComp,"String_Node_Str",false,"String_Node_Str");
  Composite sectionClient=toolkit.createComposite(section);
  sectionClient.setLayout(new GridLayout(2,false));
  Label loginLabel=new Label(sectionClient,SWT.NONE);
  loginLabel.setText("String_Node_Str");
  loginText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(loginText);
  Label passwordLabel=new Label(sectionClient,SWT.NONE);
  passwordLabel.setText("String_Node_Str");
  passwordText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(passwordText);
  String loginValue=TaggedValueHelper.getValue(USER_TAG,tdDataProvider);
  loginText.setText(loginValue == null ? PluginConstant.EMPTY_STRING : loginValue);
  String passwordValue=TaggedValueHelper.getValue(PASSWORD_TAG,tdDataProvider);
  passwordText.setText(passwordValue == null ? PluginConstant.EMPTY_STRING : passwordValue);
  Label urlLabel=new Label(sectionClient,SWT.NONE);
  urlLabel.setText("String_Node_Str");
  Text urlText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(urlText);
  TypedReturnCode<TdProviderConnection> trc=DataProviderHelper.getTdProviderConnection(tdDataProvider);
  String urlValue=(trc.isOk()) ? trc.getObject().getConnectionString() : PluginConstant.EMPTY_STRING;
  urlText.setText(urlValue == null ? PluginConstant.EMPTY_STRING : urlValue);
  urlText.setEnabled(false);
  ModifyListener listener=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
      fireTextChange();
    }
  }
;
  loginText.addModifyListener(listener);
  passwordText.addModifyListener(listener);
  section.setClient(sectionClient);
}

Fixed version (ground truth):
/** 
 * @param form
 * @param toolkit
 * @param topComp
 */
void createInformationSection(final ScrolledForm form,Composite topComp){
  Section section=createSection(form,topComp,"String_Node_Str",false,"String_Node_Str");
  Composite sectionClient=toolkit.createComposite(section);
  sectionClient.setLayout(new GridLayout(2,false));
  Label loginLabel=new Label(sectionClient,SWT.NONE);
  loginLabel.setText("String_Node_Str");
  loginText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(loginText);
  Label passwordLabel=new Label(sectionClient,SWT.NONE);
  passwordLabel.setText("String_Node_Str");
  passwordText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(passwordText);
  TdProviderConnection connection=DataProviderHelper.getTdProviderConnection(tdDataProvider).getObject();
  String loginValue=TaggedValueHelper.getValue(USER_TAG,connection);
  loginText.setText(loginValue == null ? PluginConstant.EMPTY_STRING : loginValue);
  String passwordValue=TaggedValueHelper.getValue(PASSWORD_TAG,connection);
  passwordText.setText(passwordValue == null ? PluginConstant.EMPTY_STRING : passwordValue);
  Label urlLabel=new Label(sectionClient,SWT.NONE);
  urlLabel.setText("String_Node_Str");
  urlText=new Text(sectionClient,SWT.BORDER);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(urlText);
  TypedReturnCode<TdProviderConnection> trc=DataProviderHelper.getTdProviderConnection(tdDataProvider);
  String urlValue=(trc.isOk()) ? trc.getObject().getConnectionString() : PluginConstant.EMPTY_STRING;
  urlText.setText(urlValue == null ? PluginConstant.EMPTY_STRING : urlValue);
  urlText.setEnabled(false);
  Button checkBtn=toolkit.createButton(sectionClient,"String_Node_Str",SWT.NONE);
  GridData gd=new GridData();
  gd.horizontalSpan=2;
  gd.verticalSpan=20;
  gd.horizontalAlignment=SWT.CENTER;
  checkBtn.setLayoutData(gd);
  checkBtn.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      ReturnCode code=checkDBConnection();
      if (code.isOk()) {
        MessageDialog.openInformation(null,"String_Node_Str","String_Node_Str");
      }
 else {
        MessageDialog.openInformation(null,"String_Node_Str","String_Node_Str" + code.getMessage());
      }
    }
  }
);
  ModifyListener listener=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      setDirty(true);
      fireTextChange();
    }
  }
;
  loginText.addModifyListener(listener);
  passwordText.addModifyListener(listener);
  section.setClient(sectionClient);
}