@Override
	public String toString() {
		return Json.toString(this);
	}
ColumnConstraintTypeMappers allows columns of one type be filterable using an existing {@link ColumnConstraint}
for a different type by defining a  mapping from the column type to the desired
filter type. To get the benefit of one of these mappers, all that is required is to implement
one of these mappers.  The mapper class must be public and it's name must end in "TypeMapper".

<P>
For example, if you have a column type of "Person" that holds various information about a person
including their age and you want to filter on their age, you could define a ColumnTypeMapper that
converts a "Person" to an int.  Just by creating such a mapper class, any table with "Person"
column types would now be able to filter on a person's age.
<P>
In the example above, you created a filter of a single attribute of person.  If, however, you
want more than that, you could instead create a new {@link ColumnConstraint} that filters on
more attributes of a Person.  See {@link NumberColumnConstraintProvider} for an example
of how to create these ColumnConstraints and their associated editors.

@param <T> The column type that has no inherent {@link ColumnConstraint} for filtering that
column type.
@param <M> The column type to map to that already has {@link ColumnConstraint}s defined
for that type.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/constraint/ColumnTypeMapper.java