private static <ROW_TYPE, EXPECTED_TYPE, COLUMN_TYPE, DATA_SOURCE> Collection<DynamicTableColumn<ROW_TYPE, COLUMN_TYPE, DATA_SOURCE>> createMappedTableColumn(
			Collection<TableRowMapper<ROW_TYPE, EXPECTED_TYPE, DATA_SOURCE>> mappers,
			DynamicTableColumn<EXPECTED_TYPE, COLUMN_TYPE, DATA_SOURCE> wrappedColumn) {

		Set<DynamicTableColumn<ROW_TYPE, COLUMN_TYPE, DATA_SOURCE>> set = new HashSet<>();

		for (TableRowMapper<ROW_TYPE, EXPECTED_TYPE, DATA_SOURCE> mapper : mappers) {
			set.add(mapper.createMappedTableColumn(wrappedColumn));
		}

		return set;
	}
Returns a {@link TableRowMapper} for the given class types if one is found.  The
returned mapper will know how to translate instances of <code>fromType</code> to
<code>toType</code>.

@param <ROW_TYPE> The type of row that is defined by the table
@param <EXPECTED_TYPE> The type of row object that is desired
@param fromType The <code>Class</code> object of the given row type
@param toType The <code>Class</code> object of the desired row type
@return a new TableRowMapper
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/DiscoverableTableUtils.java