public class InstanceComparator<T>
Compares objects based on an arbitrary class order. Allows objects to be sorted based
on the types of class that they inherit, for example: this comparator can be used to
sort a list Numbers such that Longs occur before Integers.
Only the specified instanceOrder classes are considered during comparison.
If two objects are both instances of the ordered type this comparator will return a
0. Consider combining with a CompoundComparator if additional sorting