}
@SuppressWarnings({"rawtypes", "unchecked"})
@Override
public Relation compare(final T1 o1, final T2 o2) {
final Converter c1 = this.c1;
final Object t1 = c1 == null ? o1 : c1.convert(o1);
if (t1 == null)
return Relation.NOT_EQUAL;
final Converter c2 = this.c2;
final Object t2 = c2 == null ? o2 : c2.convert(o2);
if (t2 == null)
return Relation.NOT_EQUAL;
return c.compare(t1, t2);
}