function getColumns(hiddenColumns) {
    var columns,
        allColumns = this.behavior.getColumns(),
        activeColumns = this.behavior.getActiveColumns();

    if (Array.isArray(hiddenColumns)) {
        columns = [];
        hiddenColumns.forEach(function(index) {
            var key = typeof index === 'number' ? 'index' : 'name',
                column = allColumns.find(function(column) { return column[key] === index; });
            if (activeColumns.indexOf(column) < 0) {
                columns.push(column);
            }
        });
        columns = columns.concat(activeColumns);
    } else {
        columns = hiddenColumns ? allColumns : activeColumns;
    }

    return columns;
}
@param {boolean|number[]|string[]} [hiddenColumns=false] - One of:
`false` - Active column list
`true` - All column list
`Array` - Active column list with listed columns prefixed as needed (when not already in the list). Each item in the array may be either:
* `number` - index into all column list
* `string` - name of a column from the all column list
@returns {Column[]}
@memberOf Hypergrid~