@SuppressWarnings({"unchecked", "rawtypes"})
	static Object read(final ObjectInput in)
		throws IOException, ClassNotFoundException
	{
		return new EvolutionResult<>(
			(Optimize)in.readObject(),
			(ISeq)in.readObject(),
			readLong(in),
			readLong(in),
			(EvolutionDurations)in.readObject(),
			readInt(in),
			readInt(in),
			readInt(in),
			true
		);
	}
Return a new {@code EvolutionResult} object with the given values.

@param optimize the optimization strategy used
@param population the population after the evolution step
@param generation the current generation
@param durations the timing (meta) information
@param killCount the number of individuals which has been killed
@param invalidCount the number of individuals which has been removed as
       invalid
@param alterCount the number of individuals which has been altered
@param <G> the gene type
@param <C> the fitness type
@return an new evolution result object
@throws java.lang.NullPointerException if one of the parameters is
        {@code null}
jenetics/src/main/java/io/jenetics/engine/EvolutionResult.java