// Make a new Cell for BRLConditionVariableColumn columns
  private DecoratedGridCellValueAdaptor<? extends Comparable<?>> derieveCellFromCondition(
      BRLConditionVariableColumn col) {

    // Check if the column has an enumeration
    final String factType = col.getFactType();
    final String fieldName = col.getFactField();
    if (sce.hasEnums(factType, fieldName)) {
      return makeEnumCell(factType, fieldName);
    }

    return derieveCellFromModel(col);
  }
  @Override
  protected List<BRLConditionVariableColumn> convertInterpolationVariables(
      Map<InterpolationVariable, Integer> ivs) {

    // Convert to columns for use in the Decision Table
    BRLConditionVariableColumn[] variables = new BRLConditionVariableColumn[ivs.size()];
    for (Map.Entry<InterpolationVariable, Integer> me : ivs.entrySet()) {
      InterpolationVariable iv = me.getKey();
      int index = me.getValue();
      BRLConditionVariableColumn variable =
          new BRLConditionVariableColumn(
              iv.getVarName(), iv.getDataType(), iv.getFactType(), iv.getFactField());
      variable.setHeader(editingCol.getHeader());
      variables[index] = variable;
    }
    return Arrays.asList(variables);
  }
 private BRLConditionVariableColumn cloneVariable(BRLConditionVariableColumn variable) {
   BRLConditionVariableColumn clone =
       new BRLConditionVariableColumn(
           variable.getVarName(),
           variable.getFieldType(),
           variable.getFactType(),
           variable.getFactField());
   clone.setHeader(variable.getHeader());
   clone.setHideColumn(variable.isHideColumn());
   clone.setWidth(variable.getWidth());
   return clone;
 }