Program: 129625
Project: 129625
Buggy source:
protected void addListeners(){
  nameText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (!isSaveAs) {
        if (nameText.getText().length() == 0) {
          nameModifiedByUser=false;
        }
 else {
          nameModifiedByUser=true;
        }
        evaluateTextField();
      }
 else {
        if (nameText.getText().equalsIgnoreCase(orignalName)) {
          nameStatus=createOkStatus();
          updatePageStatus();
          if (versionText.getText().equalsIgnoreCase(orignalVersion)) {
            setPageComplete(false);
          }
 else {
            setPageComplete(true);
          }
          if (property != null && nameStatus.getSeverity() == IStatus.OK) {
            property.setDisplayName(StringUtils.trimToNull(nameText.getText()));
            property.setLabel(StringUtils.trimToNull(nameText.getText()));
          }
        }
 else {
          nameModifiedByUser=true;
          evaluateTextField();
        }
      }
    }
  }
);
  purposeText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (purposeText.getText().length() == 0) {
        purposeStatus=createStatus(IStatus.WARNING,Messages.getString("String_Node_Str"));
      }
 else {
        purposeStatus=createOkStatus();
      }
      property.setPurpose(StringUtils.trimToNull(purposeText.getText()));
      updatePageStatus();
    }
  }
);
  descriptionText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (descriptionText.getText().length() == 0) {
        commentStatus=createStatus(IStatus.WARNING,Messages.getString("String_Node_Str"));
      }
 else {
        commentStatus=createOkStatus();
      }
      property.setDescription(StringUtils.trimToNull(descriptionText.getText()));
      updatePageStatus();
    }
  }
);
  versionMajorBtn.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String version=property.getVersion();
      if (lastVersionFound != null && VersionUtils.compareTo(lastVersionFound,version) > 0) {
        version=lastVersionFound;
      }
      version=VersionUtils.upMajor(version);
      versionText.setText(version);
      property.setVersion(version);
      property.setCreationDate(new Date());
      updatePageStatus();
    }
  }
);
  versionMinorBtn.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      String version=property.getVersion();
      if (lastVersionFound != null && VersionUtils.compareTo(lastVersionFound,version) > 0) {
        version=lastVersionFound;
      }
      version=VersionUtils.upMinor(version);
      versionText.setText(version);
      property.setVersion(version);
      property.setCreationDate(new Date());
      updatePageStatus();
    }
  }
);
  statusText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      property.setStatusCode(statusHelper.getStatusCode(statusText.getText()));
      updatePageStatus();
    }
  }
);
}

Fixed version (ground truth):
protected void addListeners(){
  nameText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (!isSaveAs) {
        if (nameText.getText().length() == 0) {
          nameModifiedByUser=false;
        }
 else {
          nameModifiedByUser=true;
        }
        evaluateTextField();
      }
 else {
        if (nameText.getText().equalsIgnoreCase(orignalName)) {
          nameStatus=createOkStatus();
          updatePageStatus();
          if (versionText.getText().equalsIgnoreCase(orignalVersion)) {
            setPageComplete(false);
          }
 else {
            setPageComplete(true);
          }
          if (property != null && nameStatus.getSeverity() == IStatus.OK) {
            property.setDisplayName(StringUtils.trimToNull(nameText.getText()));
            property.setLabel(StringUtils.trimToNull(nameText.getText()));
          }
        }
 else {
          nameModifiedByUser=true;
          evaluateTextField();
        }
      }
    }
  }
);
  purposeText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (purposeText.getText().length() == 0) {
        purposeStatus=createStatus(IStatus.WARNING,Messages.getString("String_Node_Str"));
      }
 else {
        purposeStatus=createOkStatus();
      }
      property.setPurpose(StringUtils.trimToNull(purposeText.getText()));
      updatePageStatus();
    }
  }
);
  descriptionText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      if (descriptionText.getText().length() == 0) {
        commentStatus=createStatus(IStatus.WARNING,Messages.getString("String_Node_Str"));
      }
 else {
        commentStatus=createOkStatus();
      }
      property.setDescription(StringUtils.trimToNull(descriptionText.getText()));
      updatePageStatus();
    }
  }
);
  if (allowVerchange) {
    versionMajorBtn.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        String version=property.getVersion();
        if (lastVersionFound != null && VersionUtils.compareTo(lastVersionFound,version) > 0) {
          version=lastVersionFound;
        }
        version=VersionUtils.upMajor(version);
        versionText.setText(version);
        property.setVersion(version);
        property.setCreationDate(new Date());
        updatePageStatus();
      }
    }
);
    versionMinorBtn.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        String version=property.getVersion();
        if (lastVersionFound != null && VersionUtils.compareTo(lastVersionFound,version) > 0) {
          version=lastVersionFound;
        }
        version=VersionUtils.upMinor(version);
        versionText.setText(version);
        property.setVersion(version);
        property.setCreationDate(new Date());
        updatePageStatus();
      }
    }
);
  }
  statusText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      property.setStatusCode(statusHelper.getStatusCode(statusText.getText()));
      updatePageStatus();
    }
  }
);
}