/** * Create a new evolution start object with the given population and for the * given generation. * * @param <G> the gene type * @param <C> the fitness type * @param population the start population. * @param generation the start generation of the population * @return a new evolution start object * @throws java.lang.NullPointerException if the given {@code population} is * {@code null}. * @throws IllegalArgumentException if the given {@code generation} is * smaller then one */ public static <G extends Gene<?, G>, C extends Comparable<? super C>> EvolutionStart<G, C> of( final ISeq<Phenotype<G, C>> population, final long generation ) { return new EvolutionStart<>(population, generation); }