private static <T> Seq<T> reorder(final Seq<T> removed, final Seq<T> seq) {
	    return removed.stream()
			.map(seq::lastIndexOf)
			.sorted(Integer::compareTo)
			.map(seq::get)
			.collect(Seq.toSeq());
	}
Applies uniform order-based crossover to two sequences. A set of positions
is chosen, the genes at those positions are reordered as they occur in
the other sequence.

@param that first sequence
@param other second sequence
@throws IllegalArgumentException if the two input sequences have a
        different length
jenetics/src/main/java/io/jenetics/UniformOderBasedCrossover.java