* @param add Pass in <code>true</code> to add this column to the end of the sort order, or
	 *            <code>false</code> to make this column the primary and only sort column.
	 */
	public void setSort(Column column, boolean ascending, boolean add) {
		StateEdit edit = new StateEdit(mModel, SORT_UNDO_TITLE);
		int count = mModel.getColumnCount();
		int i;

		if (!add) {
			for (i = 0; i < count; i++) {
				Column col = mModel.getColumnAtIndex(i);
				if (column == col) {
					col.setSortCriteria(0, ascending);
				} else {
					col.setSortCriteria(-1, col.isSortAscending());
				}
			}
		} else {
			if (column.getSortSequence() == -1) {
				int highest = -1;
				for (i = 0; i < count; i++) {
					int sortOrder = mModel.getColumnAtIndex(i).getSortSequence();
					if (sortOrder > highest) {
						highest = sortOrder;
					}
				}
				column.setSortCriteria(highest + 1, ascending);
			} else {
				column.setSortCriteria(column.getSortSequence(), ascending);
			}
		}
		mModel.sort();
		edit.end();
		postUndo(edit);
	}