Program: 148502
Project: 148502
Buggy source:
public XpathWidget(String buttonName,TreeParent treeParent,FormToolkit toolkit,Composite parent,AMainPageV2 dialog,boolean isButtonLeft,boolean readOnly,String dataModelName){
  this.parent=parent;
  this.treeParent=treeParent;
  if (toolkit == null)   toolkit=new FormToolkit(parent.getDisplay());
  xpathAntionHolder=toolkit.createComposite(parent,SWT.NO_FOCUS);
  xpathAntionHolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
  GridLayout layout=new GridLayout(2,false);
  layout.marginWidth=0;
  layout.marginLeft=0;
  layout.marginTop=0;
  layout.marginHeight=0;
  layout.marginBottom=0;
  xpathAntionHolder.setLayout(layout);
  dlgTitle="String_Node_Str";
  accommodation=dialog;
  ModifyListener listenr=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (descriptionValue != null && !descriptionValue.equals(descriptionText.getText())) {
        accommodation.markDirtyWithoutCommit();
      }
      descriptionValue=descriptionText.getText();
    }
  }
;
  if (isButtonLeft) {
    annotationButton=toolkit.createButton(xpathAntionHolder,"String_Node_Str",SWT.PUSH);
    annotationButton.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false,1,1));
    annotationButton.addSelectionListener(this);
    if (readOnly) {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT| SWT.READ_ONLY);
    }
 else {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT);
    }
    descriptionText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
    descriptionText.addModifyListener(listenr);
  }
 else {
    if (readOnly) {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT| SWT.READ_ONLY);
    }
 else {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT);
    }
    descriptionText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
    descriptionText.addModifyListener(listenr);
    annotationButton=toolkit.createButton(xpathAntionHolder,buttonName,SWT.PUSH);
    annotationButton.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false,1,1));
    annotationButton.addSelectionListener(this);
  }
  annotationButton.setImage(ImageCache.getCreatedImage(EImage.DOTS_BUTTON.getPath()));
  annotationButton.setToolTipText("String_Node_Str");
}

Fixed version (ground truth):
public XpathWidget(String buttonName,TreeParent treeParent,FormToolkit toolkit,Composite parent,AMainPageV2 dialog,boolean isButtonLeft,boolean readOnly,String dataModelName){
  this.parent=parent;
  this.treeParent=treeParent;
  if (toolkit == null)   toolkit=new FormToolkit(parent.getDisplay());
  xpathAntionHolder=toolkit.createComposite(parent,SWT.NO_FOCUS);
  xpathAntionHolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
  GridLayout layout=new GridLayout(2,false);
  layout.marginWidth=0;
  layout.marginLeft=0;
  layout.marginTop=0;
  layout.marginHeight=0;
  layout.marginBottom=0;
  xpathAntionHolder.setLayout(layout);
  dlgTitle="String_Node_Str";
  accommodation=dialog;
  ModifyListener listenr=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (descriptionValue != null && !descriptionValue.equals(descriptionText.getText())) {
        if (accommodation != null)         accommodation.markDirtyWithoutCommit();
      }
      descriptionValue=descriptionText.getText();
    }
  }
;
  if (isButtonLeft) {
    annotationButton=toolkit.createButton(xpathAntionHolder,"String_Node_Str",SWT.PUSH);
    annotationButton.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false,1,1));
    annotationButton.addSelectionListener(this);
    if (readOnly) {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT| SWT.READ_ONLY);
    }
 else {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT);
    }
    descriptionText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
    descriptionText.addModifyListener(listenr);
  }
 else {
    if (readOnly) {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT| SWT.READ_ONLY);
    }
 else {
      descriptionText=toolkit.createText(xpathAntionHolder,"String_Node_Str",SWT.BORDER | SWT.MULTI | SWT.LEFT);
    }
    descriptionText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,1,1));
    descriptionText.addModifyListener(listenr);
    annotationButton=toolkit.createButton(xpathAntionHolder,buttonName,SWT.PUSH);
    annotationButton.setLayoutData(new GridData(SWT.RIGHT,SWT.CENTER,false,false,1,1));
    annotationButton.addSelectionListener(this);
  }
  annotationButton.setImage(ImageCache.getCreatedImage(EImage.DOTS_BUTTON.getPath()));
  annotationButton.setToolTipText("String_Node_Str");
}