private Supplier<Spliterator<EvolutionResult<G, C>>> toSpliterator(
		final EvolutionStreamable<G, C> engine,
		final Supplier<EvolutionStart<G, C>> start,
		final AtomicReference<EvolutionStart<G, C>> other
	) {
		return () -> engine.stream(() -> start(start, other))
			.peek(result -> other.set(result.toEvolutionStart()))
			.spliterator();
	}
Create a new cycling evolution engine with the given list of
{@code engines}.

@param engines the evolution engines which are part of the cycling engine
@throws NullPointerException if the {@code engines} or one of its
        elements is {@code null}
jenetics.ext/src/main/java/io/jenetics/ext/engine/CyclicEngine.java