cmp = collator.compare(s1, s2);
} else {
cmp = s1.compareTo(s2);
}
} else if(one instanceof SingleCollection) {
SingleCollection sc1 = (SingleCollection) one;
cmp = sc1.compareTo(two, isEmptyGreatest);
} else {
cmp = one.compareTo(two);
}
return descending ? -cmp : cmp;
}