Program: 56967
Project: 56967
Buggy source:
/** 
 * Reads the min and max values (if set) from the dialog
 */
public void fillDataSetDescription(){
  IDSpecification rowIDSpecification=new IDSpecification();
  IDType rowIDType=IDType.getIDType(page.rowIDCombo.getItem(page.rowIDCombo.getSelectionIndex()));
  rowIDSpecification.setIdType(rowIDType.getTypeName());
  if (rowIDType.getIDCategory().getCategoryName().equals("String_Node_Str"))   rowIDSpecification.setIDTypeGene(true);
  rowIDSpecification.setIdCategory(rowIDType.getIDCategory().getCategoryName());
  rowIDSpecification.setIdTypeParsingRules(rowIDTypeParsingRules);
  if (!page.inhomogeneousDatasetButton.getSelection()) {
    IDSpecification columnIDSpecification=new IDSpecification();
    IDType columnIDType=IDType.getIDType(page.columnIDCombo.getItem(page.columnIDCombo.getSelectionIndex()));
    columnIDSpecification.setIdType(columnIDType.getTypeName());
    if (columnIDType.getIDCategory().getCategoryName().equals("String_Node_Str"))     columnIDSpecification.setIDTypeGene(true);
    columnIDSpecification.setIdCategory(columnIDType.getIDCategory().getCategoryName());
    columnIDSpecification.setIdTypeParsingRules(columnIDTypeParsingRules);
    dataSetDescription.setColumnIDSpecification(columnIDSpecification);
  }
  dataSetDescription.setRowIDSpecification(rowIDSpecification);
  dataSetDescription.setDataSetName(page.label.getText());
  dataSetDescription.setDataSourcePath(page.loadFile.getFileName());
  List<List<String>> matrix=parser.getDataMatrix();
  List<List<String>> filteredMatrix=new ArrayList<>(matrix.size());
  List<Integer> selectedColumns=page.previewTable.getSelectedColumns();
  DataImportWizard wizard=page.getWizard();
  List<String> columnOfRowIDs=new ArrayList<>(matrix.size() - dataSetDescription.getNumberOfHeaderLines());
  for (int i=0; i < matrix.size(); i++) {
    boolean isRowOfColumnID=false;
    if (i == dataSetDescription.getRowOfColumnIDs()) {
      isRowOfColumnID=true;
    }
 else     if (i < dataSetDescription.getNumberOfHeaderLines())     continue;
    List<String> row=matrix.get(i);
    List<String> filteredRow=filterRowByIndices(row,selectedColumns);
    if (isRowOfColumnID) {
      List<String> convertedFilteredRow=new ArrayList<>(filteredRow.size());
      for (      String id : filteredRow) {
        convertedFilteredRow.add(ATextParser.convertID(id,columnIDTypeParsingRules));
      }
      wizard.setFilteredRowOfColumnIDs(convertedFilteredRow);
    }
 else {
      filteredMatrix.add(filteredRow);
      columnOfRowIDs.add(ATextParser.convertID(row.get(dataSetDescription.getColumnOfRowIds()),rowIDTypeParsingRules));
    }
  }
  wizard.setFilteredDataMatrix(filteredMatrix);
  wizard.setSelectedColumns(selectedColumns);
  wizard.setColumnOfRowIDs(columnOfRowIDs);
  if (page.inhomogeneousDatasetButton.getSelection()) {
    if (datasetChanged || dataSetDescription.getDataDescription() != null) {
      page.getWizard().getInhomogeneousDataPropertiesPage().setInitColumnDescriptions(true);
      dataSetDescription.setDataDescription(null);
    }
  }
  datasetChanged=false;
}

Fixed version (ground truth):
/** 
 * Reads the min and max values (if set) from the dialog
 */
public void fillDataSetDescription(){
  IDSpecification rowIDSpecification=new IDSpecification();
  IDType rowIDType=IDType.getIDType(page.rowIDCombo.getItem(page.rowIDCombo.getSelectionIndex()));
  rowIDSpecification.setIdType(rowIDType.getTypeName());
  if (rowIDType.getIDCategory().getCategoryName().equals("String_Node_Str"))   rowIDSpecification.setIDTypeGene(true);
  rowIDSpecification.setIdCategory(rowIDType.getIDCategory().getCategoryName());
  rowIDSpecification.setIdTypeParsingRules(rowIDTypeParsingRules);
  if (!page.inhomogeneousDatasetButton.getSelection()) {
    IDSpecification columnIDSpecification=new IDSpecification();
    IDType columnIDType=IDType.getIDType(page.columnIDCombo.getItem(page.columnIDCombo.getSelectionIndex()));
    columnIDSpecification.setIdType(columnIDType.getTypeName());
    if (columnIDType.getIDCategory().getCategoryName().equals("String_Node_Str"))     columnIDSpecification.setIDTypeGene(true);
    columnIDSpecification.setIdCategory(columnIDType.getIDCategory().getCategoryName());
    columnIDSpecification.setIdTypeParsingRules(columnIDTypeParsingRules);
    dataSetDescription.setColumnIDSpecification(columnIDSpecification);
  }
 else {
    dataSetDescription.setColumnIDSpecification(null);
  }
  dataSetDescription.setRowIDSpecification(rowIDSpecification);
  dataSetDescription.setDataSetName(page.label.getText());
  dataSetDescription.setDataSourcePath(page.loadFile.getFileName());
  List<List<String>> matrix=parser.getDataMatrix();
  List<List<String>> filteredMatrix=new ArrayList<>(matrix.size());
  List<Integer> selectedColumns=page.previewTable.getSelectedColumns();
  DataImportWizard wizard=page.getWizard();
  List<String> columnOfRowIDs=new ArrayList<>(matrix.size() - dataSetDescription.getNumberOfHeaderLines());
  for (int i=0; i < matrix.size(); i++) {
    boolean isRowOfColumnID=false;
    if (i == dataSetDescription.getRowOfColumnIDs()) {
      isRowOfColumnID=true;
    }
 else     if (i < dataSetDescription.getNumberOfHeaderLines())     continue;
    List<String> row=matrix.get(i);
    List<String> filteredRow=filterRowByIndices(row,selectedColumns);
    if (isRowOfColumnID) {
      List<String> convertedFilteredRow=new ArrayList<>(filteredRow.size());
      for (      String id : filteredRow) {
        convertedFilteredRow.add(ATextParser.convertID(id,columnIDTypeParsingRules));
      }
      wizard.setFilteredRowOfColumnIDs(convertedFilteredRow);
    }
 else {
      filteredMatrix.add(filteredRow);
      columnOfRowIDs.add(ATextParser.convertID(row.get(dataSetDescription.getColumnOfRowIds()),rowIDTypeParsingRules));
    }
  }
  wizard.setFilteredDataMatrix(filteredMatrix);
  wizard.setSelectedColumns(selectedColumns);
  wizard.setColumnOfRowIDs(columnOfRowIDs);
  if (page.inhomogeneousDatasetButton.getSelection()) {
    if (datasetChanged || dataSetDescription.getDataDescription() != null) {
      page.getWizard().getInhomogeneousDataPropertiesPage().setInitColumnDescriptions(true);
      dataSetDescription.setDataDescription(null);
    }
  }
  datasetChanged=false;
}