Program: 75040
Project: 75040
Buggy source:
private void _createSection1(){
  Composite composite=_createSection("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
  Composite currentComposite=_newComposite(composite);
  _sourceList=new FileFieldEditor(PreferenceConstants.BACKTRACK_SOURCE_LIST,"String_Node_Str",currentComposite){
    protected boolean checkState(){
      boolean superResult=super.checkState();
      if (!getTextControl(_getParent(this)).isEnabled())       return superResult;
      if (getStringValue().equals(_lastString)) {
        if (superResult)         return true;
      }
 else {
        _lastString=getStringValue();
        _sourcesModified=false;
        if (superResult)         return _updateSources();
      }
      List list=_sources.getListControl(_getParent(_sources));
      list.removeAll();
      return false;
    }
    protected String changePressed(){
      IProject ptIIProject=ResourcesPlugin.getWorkspace().getRoot().getProject("String_Node_Str");
      FileSelectionDialog dialog=new FileSelectionDialog(getShell(),new FileSystemElement("String_Node_Str",null,true),"String_Node_Str");
      if (dialog.open() == FileSelectionDialog.OK) {
        Object[] result=dialog.getResult();
        Path p=(Path)result[0];
        return p.toOSString();
      }
 else       return null;
    }
    private String _lastString=null;
  }
;
  GridData gridData=new GridData();
  gridData.widthHint=0;
  gridData.horizontalAlignment=SWT.FILL;
  gridData.grabExcessHorizontalSpace=true;
  _sourceList.getTextControl(currentComposite).setLayoutData(gridData);
  _sourceList.setFileExtensions(new String[]{"String_Node_Str","String_Node_Str"});
  _setParent(_sourceList,currentComposite);
  addField(_sourceList);
  currentComposite=_newComposite(composite);
  _sources=new ListEditor(PreferenceConstants.BACKTRACK_SOURCES,"String_Node_Str",currentComposite){
    protected String createList(    String[] items){
      StringBuffer path=new StringBuffer("String_Node_Str");
      for (int i=0; i < items.length; i++) {
        path.append(items[i]);
        path.append(File.pathSeparator);
      }
      return path.toString();
    }
    protected String getNewInputObject(){
      FileDialog dialog=new FileDialog(getShell());
      dialog.setText("String_Node_Str");
      String file=dialog.open();
      if (file != null) {
        file=file.trim();
        if (file.length() == 0)         return null;
      }
      return file;
    }
    protected String[] parseString(    String stringList){
      StringTokenizer st=new StringTokenizer(stringList,File.pathSeparator + "String_Node_Str");
      ArrayList v=new ArrayList();
      while (st.hasMoreElements()) {
        v.add(st.nextElement());
      }
      return (String[])v.toArray(new String[v.size()]);
    }
    protected void doLoad(){
    }
    protected void doLoadDefault(){
    }
    protected void doStore(){
      if (_sourcesModified) {
        List list=getListControl(_getParent(this));
        String[] items=list.getItems();
        String fileName=_sourceList.getStringValue();
        try {
          PrintWriter writer=new PrintWriter(new FileOutputStream(fileName));
          for (int i=0; i < items.length; i++)           writer.write(items[i] + "String_Node_Str");
          writer.close();
        }
 catch (        Exception e) {
          MessageDialog.openError(getShell(),"String_Node_Str",e.getMessage());
        }
      }
    }
  }
;
  gridData=new GridData();
  gridData.widthHint=0;
  gridData.heightHint=LIST_HEIGHT;
  gridData.horizontalAlignment=SWT.FILL;
  gridData.grabExcessHorizontalSpace=true;
  _sources.getListControl(currentComposite).setLayoutData(gridData);
  _setParent(_sources,currentComposite);
  addField(_sources);
}

Fixed version (ground truth):
private void _createSection1(){
  Composite composite=_createSection("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
  Composite currentComposite=_newComposite(composite);
  _sourceList=new FileFieldEditor(PreferenceConstants.BACKTRACK_SOURCE_LIST,"String_Node_Str",currentComposite){
    protected boolean checkState(){
      boolean superResult=super.checkState();
      if (!getTextControl(_getParent(this)).isEnabled())       return superResult;
      if (getStringValue().equals(_lastString)) {
        if (superResult)         return true;
      }
 else {
        _lastString=getStringValue();
        _sourcesModified=false;
        if (superResult)         return _updateSources();
      }
      List list=_sources.getListControl(_getParent(_sources));
      list.removeAll();
      return false;
    }
    private String _lastString=null;
  }
;
  GridData gridData=new GridData();
  gridData.widthHint=0;
  gridData.horizontalAlignment=SWT.FILL;
  gridData.grabExcessHorizontalSpace=true;
  _sourceList.getTextControl(currentComposite).setLayoutData(gridData);
  _sourceList.setFileExtensions(new String[]{"String_Node_Str","String_Node_Str"});
  _setParent(_sourceList,currentComposite);
  addField(_sourceList);
  currentComposite=_newComposite(composite);
  _sources=new ListEditor(PreferenceConstants.BACKTRACK_SOURCES,"String_Node_Str",currentComposite){
    protected String createList(    String[] items){
      StringBuffer path=new StringBuffer("String_Node_Str");
      for (int i=0; i < items.length; i++) {
        path.append(items[i]);
        path.append(File.pathSeparator);
      }
      return path.toString();
    }
    protected String getNewInputObject(){
      String sourceList=_sourceList.getStringValue();
      String sourceListPath=new File(sourceList).getParent();
      FileDialog dialog=new FileDialog(getShell());
      dialog.setText("String_Node_Str");
      dialog.setFilterPath(sourceListPath);
      dialog.setFilterExtensions(new String[]{"String_Node_Str"});
      String file=dialog.open();
      if (file != null) {
        file=file.trim();
        if (file.length() == 0)         return null;
      }
      return file;
    }
    protected String[] parseString(    String stringList){
      StringTokenizer st=new StringTokenizer(stringList,File.pathSeparator + "String_Node_Str");
      ArrayList v=new ArrayList();
      while (st.hasMoreElements()) {
        v.add(st.nextElement());
      }
      return (String[])v.toArray(new String[v.size()]);
    }
    protected void doLoad(){
    }
    protected void doLoadDefault(){
    }
    protected void doStore(){
      if (_sourcesModified) {
        List list=getListControl(_getParent(this));
        String[] items=list.getItems();
        String fileName=_sourceList.getStringValue();
        try {
          PrintWriter writer=new PrintWriter(new FileOutputStream(fileName));
          for (int i=0; i < items.length; i++)           writer.write(items[i] + "String_Node_Str");
          writer.close();
        }
 catch (        Exception e) {
          MessageDialog.openError(getShell(),"String_Node_Str",e.getMessage());
        }
      }
    }
  }
;
  gridData=new GridData();
  gridData.widthHint=0;
  gridData.heightHint=LIST_HEIGHT;
  gridData.horizontalAlignment=SWT.FILL;
  gridData.grabExcessHorizontalSpace=true;
  _sources.getListControl(currentComposite).setLayoutData(gridData);
  _setParent(_sources,currentComposite);
  addField(_sources);
}