code: function ( set )
  	{
  		if ( set === undefined )
  		{
  			var a = [];
  			for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
  			{
  				a.push( this.s.dt.aoColumns[i]._ColReorder_iOrigCol );
  			}
  			return a;
  		}
  
  		this._fnOrderColumns( fnInvertKeyValues( set ) );
  
  		return this;
  	}
docs: Get the current order of the columns, as an array. Note that the values
  given in the array are unique identifiers for each column. Currently
  these are the original ordering of the columns that was detected on
  start up, but this could potentially change in future.
  @return {array} Array of column identifiers
  
  @example
  // Get column ordering for the table
  var order = $.fn.dataTable.ColReorder( dataTable ).fnOrder();
   
  Set the order of the columns, from the positions identified in the
  ordering array given. Note that ColReorder takes a brute force approach
  to reordering, so it is possible multiple reordering events will occur
  before the final order is settled upon.
  @param {array} [set] Array of column identifiers in the new order. Note
  that every column must be included, uniquely, in this array.
  @return {this} Returns `this` for chaining.
  
  @example
  // Swap the first and second columns
  $.fn.dataTable.ColReorder( dataTable ).fnOrder( [1, 0, 2, 3, 4] );
  
  @example
  // Move the first column to the end for the table `#example`
  var curr = $.fn.dataTable.ColReorder( '#example' ).fnOrder();
  var first = curr.shift();
  curr.push( first );
  $.fn.dataTable.ColReorder( '#example' ).fnOrder( curr );
  
  @example
  // Reverse the table's order
  $.fn.dataTable.ColReorder( '#example' ).fnOrder(
  $.fn.dataTable.ColReorder( '#example' ).fnOrder().reverse()
  );