void removeAllColumns() {

		fireColumnRemoved(new TableColumnModelEvent(this, 0, visibleColumns.size() - 1));
		visibleColumns.clear();

		// no need to fire the removed event for items in the complete list, as the clients
		// only know about the visible columns
		completeList.clear();

		invalidateWidthCache();
		columnModelState.saveState();
	}
Model for keeping track of column selections
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableColumnModel.java