code: public void setColumnOrder(final int[] columnOrder) {
  		if (columnOrder == null) {
  			getOrCreateComponentModel().columnOrder = null;
  		} else {
  			int count = getColumnCount();
  			if (columnOrder.length == 0) {
  				throw new IllegalArgumentException("Cannot have an empty column order indices.");
  			}
  			if (columnOrder.length > count) {
  				throw new IllegalArgumentException(
  						"Number of column order indices cannot be greater than the number of table columns");
  			}
  			for (int idx : columnOrder) {
  				if (idx < 0 || idx > count - 1) {
  					throw new IllegalArgumentException(
  							"Illegal index in column order indices [" + idx + "]");
  				}
  			}
  			getOrCreateComponentModel().columnOrder = Arrays.copyOf(columnOrder, columnOrder.length);
  		}
  	}
docs: Provide an array of column indexes in the order they should be rendered. At least one column must be specifed.
  <p>
  This can also be used to "hide" columns by not including them in the array.
  </p>
  
  @param columnOrder the column order to set, or null to use default ordering.