/// <summary>
        /// Updates <see cref="_informationHistory"/> with the current (finished) generation.
        /// </summary>
        /// <param name="currentStrategy">The current strategy.</param>
        private void UpdateGenerationHistory(IPopulationUpdateStrategy <TInstance, TResult> currentStrategy)
        {
            var evaluationCountRequest =
                this._targetRunResultStorage.Ask <EvaluationStatistic>(new EvaluationStatisticRequest());

            evaluationCountRequest.Wait();

            var generationInformation = new GenerationInformation(
                generation: this._currGeneration,
                totalNumberOfEvaluations: evaluationCountRequest.Result.TotalEvaluationCount,
                strategy: currentStrategy.GetType(),
                incumbent: new ImmutableGenome(this._incumbentGenomeWrapper.IncumbentGenome));

            this._informationHistory.Add(generationInformation);
        }