Program: 81505
Project: 81505
Buggy source:
/** 
 */
@Override public DataTableSpec[] configure(DataTableSpec[] in) throws InvalidSettingsException {
  DataTableSpec tSpec=in[0];
  SettingsModelString columnModelSetting=(SettingsModelString)getModelSetting(CFG_ConcentrationColumn);
  String conColumn=columnModelSetting.getStringValue();
  if (conColumn == null) {
    conColumn=tryAutoGuessingConcentrationColumn(tSpec);
    ((SettingsModelString)this.getModelSetting(CFG_ConcentrationColumn)).setStringValue(conColumn);
  }
  if (!tSpec.containsName(conColumn))   throw new InvalidSettingsException("String_Node_Str" + conColumn + "String_Node_Str");
  int idCol=tSpec.findColumnIndex(conColumn);
  DataColumnSpec cSpec=tSpec.getColumnSpec(idCol);
  if (checkForDataType(cSpec) == 1) {
    if (cSpec.getDomain() != null) {
      Set<DataCell> domVals=cSpec.getDomain().getValues();
      if (domVals != null) {
        int nNumericStrings=0;
        for (        DataCell cell : domVals) {
          try {
            Double.parseDouble(((StringValue)cell).getStringValue());
            nNumericStrings++;
          }
 catch (          NumberFormatException e) {
          }
        }
        if (nNumericStrings == 0) {
          throw new InvalidSettingsException("String_Node_Str");
        }
      }
    }
  }
 else {
    DataColumnDomain domain=tSpec.getColumnSpec(idCol).getDomain();
    if (domain != null) {
      double lower=((DoubleValue)domain.getLowerBound()).getDoubleValue();
      if (lower < 0) {
        throw new InvalidSettingsException("String_Node_Str");
      }
    }
  }
  ColumnRearranger c=createColumnRearranger(in[0],idCol,null,new double[2],checkForDataType(tSpec.getColumnSpec(idCol)),null,null);
  if (((SettingsModelBoolean)getModelSetting(CFG_deleteSouceCol)).getBooleanValue() == true) {
    c.remove(idCol);
  }
  DataTableSpec result=c.createSpec();
  return new DataTableSpec[]{result};
}

Fixed version (ground truth):
/** 
 */
@Override public DataTableSpec[] configure(DataTableSpec[] in) throws InvalidSettingsException {
  DataTableSpec tSpec=in[0];
  SettingsModelString columnModelSetting=(SettingsModelString)getModelSetting(CFG_ConcentrationColumn);
  String conColumn=columnModelSetting.getStringValue();
  if (conColumn == null) {
    conColumn=tryAutoGuessingConcentrationColumn(tSpec);
    ((SettingsModelString)this.getModelSetting(CFG_ConcentrationColumn)).setStringValue(conColumn);
  }
  if (!tSpec.containsName(conColumn))   throw new InvalidSettingsException("String_Node_Str" + conColumn + "String_Node_Str");
  int idCol=tSpec.findColumnIndex(conColumn);
  DataColumnSpec cSpec=tSpec.getColumnSpec(idCol);
  if (checkForDataType(cSpec) == 1) {
    if (cSpec.getDomain() != null) {
      Set<DataCell> domVals=cSpec.getDomain().getValues();
      if (domVals != null) {
        int nNumericStrings=0;
        for (        DataCell cell : domVals) {
          try {
            Double.parseDouble(((StringValue)cell).getStringValue());
            nNumericStrings++;
          }
 catch (          NumberFormatException e) {
          }
        }
        if (nNumericStrings == 0) {
          throw new InvalidSettingsException("String_Node_Str");
        }
      }
    }
  }
 else {
    DataColumnDomain domain=tSpec.getColumnSpec(idCol).getDomain();
    if (domain != null) {
      if (domain.getLowerBound() != null) {
        double lower=((DoubleValue)domain.getLowerBound()).getDoubleValue();
        if (lower < 0) {
          throw new InvalidSettingsException("String_Node_Str");
        }
      }
    }
  }
  ColumnRearranger c=createColumnRearranger(in[0],idCol,null,new double[2],checkForDataType(tSpec.getColumnSpec(idCol)),null,null);
  if (((SettingsModelBoolean)getModelSetting(CFG_deleteSouceCol)).getBooleanValue() == true) {
    c.remove(idCol);
  }
  DataTableSpec result=c.createSpec();
  return new DataTableSpec[]{result};
}