public override void Build(TPopulationAnalysisChart analysisChart, OSPSuiteTracker buildTracker) { var groupPlots = GetGroupPlots(analysisChart); var listToReport = new List <object>(); foreach (var groupPlot in groupPlots) { listToReport.Add(groupPlot); buildTracker.AddReference(analysisChart, groupPlot); } if (analysisChart.AnalysisType == PopulationAnalysisType.TimeProfile) { var chartData = _chartDataCreator.CreateFor(analysisChart, _aggregate) as ChartData <TimeProfileXValue, TimeProfileYValue>; if (chartData != null) { var populationPKAnalyses = new PopulationPKAnalyses(analysisChart.Analysable.DowncastTo <IPopulationDataCollector>(), chartData, analysisChart); listToReport.Add(populationPKAnalyses); } } _builderRepository.Report(listToReport, buildTracker); }