default EvolutionStream<G, C> stream(
		final ISeq<Phenotype<G, C>> population,
		final long generation
	) {
		return stream(EvolutionStart.of(population, generation));
	}
Create a new, possibly <em>infinite</em>, evolution stream with the given
initial population. If an empty {@code Population} is given, the engine's
genotype factory is used for creating the population. The given population
might be the result of another engine, and this method allows to start the
evolution with the outcome of a different engine. The fitness function
is replaced by the one defined for this engine.

@param population the initial individuals used for the evolution stream.
       Missing individuals are created and individuals not needed are
       skipped.
@param generation the generation the stream starts from; must be greater
       than zero.
@return a new evolution stream.
@throws java.lang.NullPointerException if the given {@code population} is
        {@code null}.
@throws IllegalArgumentException if the given {@code generation} is
        smaller then one
jenetics/src/main/java/io/jenetics/engine/EvolutionStreamable.java