public static <C extends Comparable<? super C>>
	Predicate<EvolutionResult<?, C>> bySteadyFitness(final int generations) {
		return new SteadyFitnessLimit<>(generations);
	}
public static < C extends Comparable < ? super C > > Predicate < EvolutionResult < ? , C > > bySteadyFitness ( final int generations ) { return new SteadyFitnessLimit < > ( generations ) ; }
Return a predicate, which will truncate the evolution stream if no
better phenotype could be found after the given number of
{@code generations}.

<pre>{@code
final Phenotype<DoubleGene, Double> result = engine.stream()
// Truncate the evolution stream after 5 "steady" generations.
.limit(bySteadyFitness(5))
// The evolution will stop after maximal 100 generations.
.limit(100)
.collect(toBestPhenotype());
}</pre>

@param generations the number of <i>steady</i> generations
@param <C> the fitness type
@return a predicate which truncate the evolution stream if no better
phenotype could be found after a give number of
{@code generations}
@throws IllegalArgumentException if the generation is smaller than
one.