private String getIdentifier() {
		/*
			We need this method to return a value that is unique for every column.  We have a
		 	few issues that we need to work around:
		 		-The case where 2 different column classes share the same column header value
		 		-The case where a single column class is used repeatedly, with a different
		 		 column header value each time

		 	Thus, to be unique, we need to combine both the class name and the column header
		 	value.  The only time this may be an issue is if the column header value changes
		 	dynamically--not sure if this actually happens anywhere in our system.  If it did,
		 	then the saved settings would not get reloaded correctly.
		 */

		if (identifier == null) {
			// the combination of the class name and the column name should be unique
			identifier = getClass().getName() + '.' + getColumnName();
		}
		return identifier;
	}
An Table Column is an interface that should be implemented by each class that provides a field
(column) of an object based table (each row relates to a particular type of object). It
determines the appropriate cell object for use by the table column this field represents. It can
then return the appropriate object to display in the table cell for the indicated row object.

@param <ROW_TYPE> The row object class supported by this column
@param <COLUMN_TYPE> The column object class supported by this column
@param <DATA_SOURCE> The object class type that will be passed to see
           <code>getValue(ROW_TYPE, Settings, DATA_SOURCE, ServiceProvider)</code>
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/AbstractDynamicTableColumn.java