Program: 58918
Project: 58918
Buggy source:
private void createDataPreviewTable(final String sDelimiter){
  this.sDelimiter=sDelimiter;
  boolean clusterInfo=false;
  previewTable.removeAll();
  for (  TableColumn tmpColumn : previewTable.getColumns()) {
    tmpColumn.dispose();
  }
  final TableEditor editor=new TableEditor(previewTable);
  editor.horizontalAlignment=SWT.LEFT;
  editor.grabHorizontal=true;
  BufferedReader brFile;
  try {
    brFile=GeneralManager.get().getResourceLoader().getResource(sFileName);
    String sLine="String_Node_Str";
    for (int iIgnoreLineIndex=2; iIgnoreLineIndex < iStartParseFileAtLine; iIgnoreLineIndex++) {
      brFile.readLine();
    }
    String sTmpNextToken="String_Node_Str";
    StringTokenizer tokenizer;
    TableColumn column;
    TableItem item;
    int iColIndex=0;
    if ((sLine=brFile.readLine()) != null) {
      tokenizer=new StringTokenizer(sLine,sDelimiter,false);
      column=new TableColumn(previewTable,SWT.NONE);
      column.setWidth(100);
      column.setText("String_Node_Str");
      while (tokenizer.hasMoreTokens()) {
        sTmpNextToken=tokenizer.nextToken();
        final TableColumn dataColumn=new TableColumn(previewTable,SWT.NONE);
        dataColumn.setWidth(100);
        dataColumn.setText(sTmpNextToken);
        dataColumn.addSelectionListener(new SelectionAdapter(){
          @Override public void widgetSelected(          SelectionEvent e){
            LabelEditorDialog dialog=new LabelEditorDialog(new Shell());
            String sLabel=dialog.open(dataColumn.getText());
            if (sLabel != null && !sLabel.isEmpty()) {
              dataColumn.setText(sLabel);
            }
          }
        }
);
        iColIndex++;
      }
    }
    int iRowCount=0;
    boolean bCellFilled=false;
    while ((sLine=brFile.readLine()) != null && iRowCount < MAX_PREVIEW_TABLE_ROWS) {
      tokenizer=new StringTokenizer(sLine,sDelimiter,true);
      item=new TableItem(previewTable,SWT.NONE);
      iColIndex=0;
      while (tokenizer.hasMoreTokens()) {
        sTmpNextToken=tokenizer.nextToken();
        if (sTmpNextToken.equals(sDelimiter) && !bCellFilled) {
          item.setText(iColIndex + 1,"String_Node_Str");
          iColIndex++;
        }
 else         if (sTmpNextToken.equals(sDelimiter) && bCellFilled) {
          bCellFilled=false;
        }
 else {
          bCellFilled=true;
          item.setText(iColIndex + 1,sTmpNextToken);
          iColIndex++;
        }
      }
      bCellFilled=false;
      iRowCount++;
    }
  }
 catch (  FileNotFoundException e) {
    throw new IllegalStateException("String_Node_Str");
  }
catch (  IOException ioe) {
    throw new IllegalStateException("String_Node_Str");
  }
  createDataClassBar();
  createDataTypeBar();
  TableItem[] arTmpLabelColumnItem=previewTable.getItems();
  arTmpLabelColumnItem[0].setText(0,"String_Node_Str");
  arTmpLabelColumnItem[1].setText(0,"String_Node_Str");
  for (int iItemIndex=2; iItemIndex < arTmpLabelColumnItem.length; iItemIndex++) {
    arTmpLabelColumnItem[iItemIndex].setText(0,"String_Node_Str" + (iItemIndex - 1));
  }
}

Fixed version (ground truth):
private void createDataPreviewTable(final String sDelimiter){
  this.sDelimiter=sDelimiter;
  previewTable.removeAll();
  for (  TableColumn tmpColumn : previewTable.getColumns()) {
    tmpColumn.dispose();
  }
  final TableEditor editor=new TableEditor(previewTable);
  editor.horizontalAlignment=SWT.LEFT;
  editor.grabHorizontal=true;
  BufferedReader brFile;
  try {
    brFile=GeneralManager.get().getResourceLoader().getResource(sFileName);
    String sLine="String_Node_Str";
    for (int iIgnoreLineIndex=2; iIgnoreLineIndex < iStartParseFileAtLine; iIgnoreLineIndex++) {
      brFile.readLine();
    }
    String sTmpNextToken="String_Node_Str";
    StringTokenizer tokenizer;
    TableColumn column;
    TableItem item;
    int iColIndex=0;
    if ((sLine=brFile.readLine()) != null) {
      tokenizer=new StringTokenizer(sLine,sDelimiter,false);
      column=new TableColumn(previewTable,SWT.NONE);
      column.setWidth(100);
      column.setText("String_Node_Str");
      while (tokenizer.hasMoreTokens()) {
        sTmpNextToken=tokenizer.nextToken();
        final TableColumn dataColumn=new TableColumn(previewTable,SWT.NONE);
        dataColumn.setWidth(100);
        dataColumn.setText(sTmpNextToken);
        dataColumn.addSelectionListener(new SelectionAdapter(){
          @Override public void widgetSelected(          SelectionEvent e){
            LabelEditorDialog dialog=new LabelEditorDialog(new Shell());
            String sLabel=dialog.open(dataColumn.getText());
            if (sLabel != null && !sLabel.isEmpty()) {
              dataColumn.setText(sLabel);
            }
          }
        }
);
        iColIndex++;
      }
    }
    int iRowCount=0;
    boolean bCellFilled=false;
    while ((sLine=brFile.readLine()) != null && iRowCount < MAX_PREVIEW_TABLE_ROWS) {
      tokenizer=new StringTokenizer(sLine,sDelimiter,true);
      item=new TableItem(previewTable,SWT.NONE);
      iColIndex=0;
      while (tokenizer.hasMoreTokens()) {
        sTmpNextToken=tokenizer.nextToken();
        if (sTmpNextToken.equals(sDelimiter) && !bCellFilled) {
          item.setText(iColIndex + 1,"String_Node_Str");
          iColIndex++;
        }
 else         if (sTmpNextToken.equals(sDelimiter) && bCellFilled) {
          bCellFilled=false;
        }
 else {
          bCellFilled=true;
          item.setText(iColIndex + 1,sTmpNextToken);
          iColIndex++;
        }
      }
      bCellFilled=false;
      iRowCount++;
    }
  }
 catch (  FileNotFoundException e) {
    throw new IllegalStateException("String_Node_Str");
  }
catch (  IOException ioe) {
    throw new IllegalStateException("String_Node_Str");
  }
  createDataClassBar();
  createDataTypeBar();
  TableItem[] arTmpLabelColumnItem=previewTable.getItems();
  arTmpLabelColumnItem[0].setText(0,"String_Node_Str");
  arTmpLabelColumnItem[1].setText(0,"String_Node_Str");
  for (int iItemIndex=2; iItemIndex < arTmpLabelColumnItem.length; iItemIndex++) {
    arTmpLabelColumnItem[iItemIndex].setText(0,"String_Node_Str" + (iItemIndex - 1));
  }
}