"A single comparator function which delegates to each of the given [[comparator functions|comparators]] in turn, returning the first result of [[smaller]] or [[larger]] if any, or returning [[equal]] otherwise. Consider the following type: class Person(shared Integer age, shared String name) {} A stream of `Person`s may be sorted by `age`, breaking ties by `name`, like this: people.sort(comparing(byDecreasing(Person.age), byIncreasing(Person.name))) If no `comparators` are given, the resulting comparator always returns `equal`. This function is intended for use with [[Iterable.sort]] and [[Iterable.max]]." see (`function byDecreasing`, `function byIncreasing`, `function Iterable.max`, `function Iterable.sort`) tagged("Comparisons") since("1.1.0") shared Comparison comparing<in Value>(Comparison(Value,Value)* comparators) (Value x, Value y) { for (compare in comparators) { value comparison = compare(x, y); if (comparison != equal) { return comparison; } } else { return equal; } }