internal IStatSessionSummary SummariseSession(IStatSession session, IStatSessionSummary baseline)
        {
            // FIXME: Jankness
            var ret            = (StatSessionSummary)baseline;
            var summarySection = new StatSessionSummarySection("Session summary");

            summarySection.Add("Session type", session.SessionType);
            summarySection.Add("Commander", session.SessionCommanderName);
            summarySection.Add("Ship", session.SessionShipName);
            summarySection.Add("Start System", session.LocationStart.SystemName);
            summarySection.Add("Start System body", session.LocationStart.BodyName);
            summarySection.Add("End System", session.LocationEnd.SystemName);
            summarySection.Add("End System body", session.LocationEnd.SystemName);

            summarySection.Add("Session started", session.SessionStarted);
            summarySection.Add("Session finished", session.SessionEnded);
            summarySection.Add("Session consumed", session.SessionTimeConsumed);
            summarySection.Add("Session minutes", (int)session.SessionTimeConsumed.TotalMinutes);
            ret.Add(summarySection);

            var totalsSection = new StatSessionSummarySection("Session totals");

            foreach (var item in session.SummaryStats)
            {
                totalsSection.Add(item.Key, item.Value);
            }
            ret.Add(totalsSection);

            var totalMinutes    = session.SessionTimeConsumed.TotalMinutes;
            var averagesSection = new StatSessionSummarySection("Session averages");

            foreach (var item in session.SummaryStats)
            {
                averagesSection.Add(item.Key + "(/m)", item.Value / totalMinutes);
            }

            ret.Add(averagesSection);

            return(ret);
        }
 internal void Add(StatSessionSummarySection summarySection)
 {
     _sections.Add(summarySection);
 }