protected void reloadColumns() {

		// note: since we should only be called during construction, there is no need to
		//       fire an event to signal the table structure has changed

		columnDescriptor = null;
		tableColumns.clear();
		defaultTableColumns.clear();
		loadDefaultTableColumns();
		loadDiscoveredTableColumns();

		columnSettings.clear();
		for (DynamicTableColumn<ROW_TYPE, ?, ?> column : tableColumns) {
			columnSettings.put(column, new SettingsImpl(this, column));
		}
	}
Allows clients to defer column creation until after this parent class's constructor has been
called. This method will not restore any column settings that have been changed after
construction. Thus, this method is intended only to be called during the construction
process.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GDynamicColumnTableModel.java