@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public TypeComparator<T> createComparator(boolean sortOrderAscending) {
if(Comparable.class.isAssignableFrom(typeClass)) {
return new WritableComparator(sortOrderAscending, typeClass);
}
else {
throw new UnsupportedOperationException("Cannot create Comparator for "+typeClass.getCanonicalName()+". " +
"Class does not implement Comparable interface.");
}