public void StartAnalysis(IPopulationDataCollector populationDataCollector, PopulationAnalysis populationAnalysis)
        {
            _populationAnalysis = populationAnalysis.DowncastTo <PopulationStatisticalAnalysis>();
            _allOutputsPresenter.UpdateColumnSettings(populationDataCollector);
            var allOutputs = _outputsRetriever.OutputsFrom(populationDataCollector);

            _allOutputsPresenter.Edit(allOutputs);
            _selectedOutputsPresenter.StartAnalysis(populationDataCollector, populationAnalysis);
            _statisticsSelectionPresenter.StartAnalysis(populationDataCollector, populationAnalysis);
            addDefaultSelectionIfRequired(allOutputs);
            _view.BindTo(_populationAnalysis);
        }
        public void Edit(IEnumerable <IQuantity> quantities, IEnumerable <QuantitySelection> selectedQuantities)
        {
            _allQuantityListPresenter.Edit(quantities);

            var selectedDTO = selectedQuantities
                              .Select(q => q.Path)
                              .Select(path => _allQuantityListPresenter.QuantityDTOByPath(path))
                              .Where(dto => dto != null)
                              .ToList();

            _selectedQuantityListPresenter.Edit(selectedDTO);
            selectedDTO.Each(dto => dto.Selected = true);
        }