void restoreState(List<TableColumn> newCompleteList, List<Settings> newSettingsList,
			List<TableColumn> newVisibleList) {
		this.completeList = newCompleteList;
		this.visibleColumns = new VisibleColumns(newVisibleList);

		TableModel model = table.getModel();
		if (model instanceof ConfigurableColumnTableModel) {
			ConfigurableColumnTableModel configurableModel = (ConfigurableColumnTableModel) model;
			Settings[] columnIndexAndSettings = new Settings[newCompleteList.size()];
			for (int i = 0; i < columnIndexAndSettings.length; i++) {
				int modelIndex = newCompleteList.get(i).getModelIndex();
				columnIndexAndSettings[modelIndex] = newSettingsList.get(modelIndex);
			}
			configurableModel.setAllColumnSettings(columnIndexAndSettings);
		}

		// signal a change; we've added/removed columns, but we don't need to be specific
		TableColumnModelEvent e = new TableColumnModelEvent(this, 0, getColumnCount() - 1);
		fireColumnAdded(e);
	}
Recalculates the total combined width of all columns.  Updates the
<code>totalColumnWidth</code> property.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableColumnModel.java