code: function resolveColumnIdentifierToColumn(
      columns, columnIdentifier, mapColumnNameToIndices)
  {
    var columnIndex;
  
    // if the column identifier is a string, treat it as a column
    // name and use it to get the index of the specified column
    if (Util.isString(columnIdentifier))
    {
      // if a valid column name was specified, get the index of the first column
      // with the specified name
      if (mapColumnNameToIndices.hasOwnProperty(columnIdentifier))
      {
        columnIndex = mapColumnNameToIndices[columnIdentifier][0];
      }
    }
    // if the column identifier is a number, treat it as a column index
    else if (Util.isNumber(columnIdentifier))
    {
      columnIndex = columnIdentifier;
    }
  
    return columns[columnIndex];
  }
docs: Resolves a column identifier to the corresponding column if possible. The
  column identifier can be a column name or a column index. If an invalid
  column identifier is specified, we return undefined.
  
  @param {Object[]} columns
  @param {String | Number} columnIdentifier
  @param {Object} mapColumnNameToIndices
  
  @returns {*}