Program: 31826
Project: 31826
Buggy source:
/** 
 * Update target, listMeta, listForceSelect, listForceRemove
 * @throws IOException
 * @throws IllegalArgumentException if modelConfig is null or columnConfigList is null.
 */
public static void updateColumnConfigFlags(ModelConfig modelConfig,List<ColumnConfig> columnConfigList) throws IOException {
  String targetColumnName=CommonUtils.getRelativePigHeaderColumnName(modelConfig.getTargetColumnName());
  Set<String> setCategorialColumns=new HashSet<String>();
  if (CollectionUtils.isNotEmpty(modelConfig.getCategoricalColumnNames())) {
    for (    String column : modelConfig.getCategoricalColumnNames()) {
      setCategorialColumns.add(CommonUtils.getRelativePigHeaderColumnName(column));
    }
  }
  Set<String> setMeta=new HashSet<String>();
  if (CollectionUtils.isNotEmpty(modelConfig.getMetaColumnNames())) {
    for (    String meta : modelConfig.getMetaColumnNames()) {
      setMeta.add(CommonUtils.getRelativePigHeaderColumnName(meta));
    }
  }
  Set<String> setForceRemove=new HashSet<String>();
  if (Boolean.TRUE.equals(modelConfig.getVarSelect().getForceEnable()) && CollectionUtils.isNotEmpty(modelConfig.getListForceRemove())) {
    for (    String forceRemoveName : modelConfig.getListForceRemove()) {
      setForceRemove.add(CommonUtils.getRelativePigHeaderColumnName(forceRemoveName));
    }
  }
  Set<String> setForceSelect=new HashSet<String>(512);
  if (Boolean.TRUE.equals(modelConfig.getVarSelect().getForceEnable()) && CollectionUtils.isNotEmpty(modelConfig.getListForceSelect())) {
    for (    String forceSelectName : modelConfig.getListForceSelect()) {
      setForceSelect.add(CommonUtils.getRelativePigHeaderColumnName(forceSelectName));
    }
  }
  for (  ColumnConfig config : columnConfigList) {
    String varName=config.getColumnName();
    if (targetColumnName.equals(varName)) {
      config.setColumnFlag(ColumnFlag.Target);
      config.setColumnType(null);
    }
 else     if (setMeta.contains(varName)) {
      config.setColumnFlag(ColumnFlag.Meta);
      config.setColumnType(null);
    }
 else     if (setForceRemove.contains(varName)) {
      config.setColumnFlag(ColumnFlag.ForceRemove);
    }
 else     if (setForceSelect.contains(varName)) {
      config.setColumnFlag(ColumnFlag.ForceSelect);
    }
    if (setCategorialColumns.contains(varName)) {
      config.setColumnType(ColumnType.C);
    }
  }
}

Fixed version (ground truth):
/** 
 * Update target, listMeta, listForceSelect, listForceRemove
 * @throws IOException
 * @throws IllegalArgumentException if modelConfig is null or columnConfigList is null.
 */
public static void updateColumnConfigFlags(ModelConfig modelConfig,List<ColumnConfig> columnConfigList) throws IOException {
  String targetColumnName=CommonUtils.getRelativePigHeaderColumnName(modelConfig.getTargetColumnName());
  Set<String> setCategorialColumns=new HashSet<String>();
  if (CollectionUtils.isNotEmpty(modelConfig.getCategoricalColumnNames())) {
    for (    String column : modelConfig.getCategoricalColumnNames()) {
      setCategorialColumns.add(CommonUtils.getRelativePigHeaderColumnName(column));
    }
  }
  Set<String> setMeta=new HashSet<String>();
  if (CollectionUtils.isNotEmpty(modelConfig.getMetaColumnNames())) {
    for (    String meta : modelConfig.getMetaColumnNames()) {
      setMeta.add(CommonUtils.getRelativePigHeaderColumnName(meta));
    }
  }
  Set<String> setForceRemove=new HashSet<String>();
  if (Boolean.TRUE.equals(modelConfig.getVarSelect().getForceEnable()) && CollectionUtils.isNotEmpty(modelConfig.getListForceRemove())) {
    for (    String forceRemoveName : modelConfig.getListForceRemove()) {
      setForceRemove.add(CommonUtils.getRelativePigHeaderColumnName(forceRemoveName));
    }
  }
  Set<String> setForceSelect=new HashSet<String>(512);
  if (Boolean.TRUE.equals(modelConfig.getVarSelect().getForceEnable()) && CollectionUtils.isNotEmpty(modelConfig.getListForceSelect())) {
    for (    String forceSelectName : modelConfig.getListForceSelect()) {
      setForceSelect.add(CommonUtils.getRelativePigHeaderColumnName(forceSelectName));
    }
  }
  for (  ColumnConfig config : columnConfigList) {
    String varName=config.getColumnName();
    if (targetColumnName.equals(varName)) {
      config.setColumnFlag(ColumnFlag.Target);
      config.setColumnType(null);
    }
 else     if (setMeta.contains(varName)) {
      config.setColumnFlag(ColumnFlag.Meta);
      config.setColumnType(null);
    }
 else     if (setForceRemove.contains(varName)) {
      config.setColumnFlag(ColumnFlag.ForceRemove);
    }
 else     if (setForceSelect.contains(varName)) {
      config.setColumnFlag(ColumnFlag.ForceSelect);
    }
    if (setCategorialColumns.contains(varName)) {
      config.setColumnType(ColumnType.C);
    }
 else {
      config.setColumnType(ColumnType.N);
    }
  }
}