public override LeaveAnalysisResults Analyze(LeaveChart Data)
        {
            var dayCount = new Dictionary<String, int>();

            foreach (var leaveEntry in Data.EnumerateLeave(StartDate, EndDate))
                if (dayCount.ContainsKey(leaveEntry.Substitute)) dayCount[leaveEntry.Substitute] += 1;
                else dayCount.Add(leaveEntry.Substitute, 1);

            var result = new LeaveAnalysisResults();
            result.ColumnNames.Add("Carrier");
            result.ColumnNames.Add("Days Worked");

            foreach (var sub in dayCount)
            {
                result.Rows.Add(new LeaveAnalysisRow { Name = sub.Key });
                result.Rows[result.Rows.Count - 1].Columns.Add("Days Worked", sub.Value.ToString());
            }

            result.SortRowsAlphabetically();
            return result;
        }