private SimulationComparisonMetaData mapFrom(ISimulationComparison simulationComparison)
        {
            SimulationComparisonMetaData metaData;

            if (simulationComparison.IsAnImplementationOf <IndividualSimulationComparison>())
            {
                metaData = new IndividualSimulationComparisonMetaData();
            }
            else if (simulationComparison.IsAnImplementationOf <PopulationSimulationComparison>())
            {
                metaData = new PopulationSimulationComparisonMetaData();
            }
            else
            {
                throw new ArgumentException($"Unable to serialize simulation comparison of type {simulationComparison.GetType()}");
            }

            mapObjectBase(metaData, simulationComparison);

            if (!simulationComparison.IsLoaded)
            {
                return(metaData);
            }

            serializeContent(metaData, simulationComparison, compress: true);
            return(metaData);
        }
        public ApplicationIcon IconFor(ISimulationComparison simulationComparison)
        {
            if (simulationComparison.IsAnImplementationOf <PopulationSimulationComparison>())
            {
                return(ApplicationIcons.PopulationSimulationComparison);
            }

            return(ApplicationIcons.IndividualSimulationComparison);
        }