public string[] PotentialVariableParameterPathsFor(ISimulation simulation)
        {
            var sensitivityAnalysis     = new SensitivityAnalysis(simulation);
            var coreSensitivityAnalysis = _sensitivityAnalysisMapper.MapFrom(sensitivityAnalysis);

            return(coreSensitivityAnalysis.AllSensitivityParameterPaths);
        }
        public async Task <SensitivityAnalysisRunResult> RunAsync(
            SensitivityAnalysis sensitivityAnalysis,
            SensitivityAnalysisRunOptions runOptions = null)
        {
            var options = runOptions ?? new SensitivityAnalysisRunOptions();

            using (var sensitivityAnalysisEngine = _sensitivityAnalysisEngineFactory.Create())
                try
                {
                    initializeProgress(sensitivityAnalysisEngine, options);
                    var coreSensitivityAnalysis = _sensitivityAnalysisMapper.MapFrom(sensitivityAnalysis);
                    await sensitivityAnalysisEngine.StartAsync(coreSensitivityAnalysis, options);

                    return(coreSensitivityAnalysis.Results);
                }
                finally
                {
                    simulationTerminated(sensitivityAnalysisEngine);
                }
        }