@Override
	public EvolutionStream<G, C>
	stream(final Supplier<EvolutionStart<G, C>> start) {
		final AtomicReference<EvolutionStart<G, C>> other =
			new AtomicReference<>(null);

		return new EvolutionStreamImpl<>(
			new CyclicSpliterator<>(
				_engines.stream()
					.map(engine -> toSpliterator(engine, start, other))
					.toList()
			),
			false
		);
	}
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