This interface defines the method required by the runtime to use data types in join-like operations.
In such operations, instances of different data types are compared for equality with respect to certain
attributes, such as join keys.
The class compares instances of two different data types. One is always used as the reference data type,
and the other is checked against the reference. An instance of the reference data type is normally set as the
reference for comparisons. Afterwards one or more instances of the other data type are checked against the