default MSeq<T> sort(final Comparator<? super T> comparator) {
		return sort(0, length(), comparator);
	}
Sorts this sequence according to the order induced by the specified
{@link Comparator}.

<p>All elements in this sequence must be <i>mutually comparable</i> using
the specified comparator (that is, {@code c.compare(e1, e2)} must not
throw a {@code ClassCastException} for any elements {@code e1} and
{@code e2} in the sequence).

<p>If the specified comparator is {@code null} then all elements in this
list must implement the {@link Comparable} interface and the elements'
Comparable natural ordering should be used.

@param comparator the {@code Comparator} used to compare sequence elements.
         A {@code null} value indicates that the elements' Comparable
         natural ordering should be used
@throws ClassCastException if the sequence contains elements that are not
        <i>mutually comparable</i> using the specified comparator
@return {@code this} sequence
jenetics/src/main/java/io/jenetics/util/MSeq.java