/// <summary>
        /// Generate a report containing a count of all runs across all classes and across all years.
        /// </summary>
        private void GenerateAllRunsPerClassReport()
        {
            string description = "All Class Runs Report";

            this.ProgressEvent?.Invoke($"Started {description}");

            ReportCounterManager <ClassCounter> results =
                ClassReportFactory.RunGeneralReportForAllCls(
                    this.groupsAndClassesIoController,
                    this.FullList);

            this.classGeneralReportResults.Invoke(results);

            this.ProgressEvent?.Invoke($"Completed {description}");
        }
        /// <summary>
        /// Generate a report which documents a count of all locations visited by a specific class.
        /// </summary>
        private void GenerateAllLocationsVisitedPerClassReport()
        {
            string description = $"Class Location Report for {this.ClsCollection[this.clsIndex]}";

            this.ProgressEvent?.Invoke($"Started {description}");

            ReportCounterManager <LocationCounter> results =
                ClassReportFactory.RunReportForASingleClass(
                    this.groupsAndClassesIoController,
                    this.ClsCollection[this.ClsIndex],
                    this.FullList);

            this.singleClassGeneralLocationReportResults.Invoke(
                results,
                this.ClsCollection[this.ClsIndex]);

            this.ProgressEvent?.Invoke($"Completed {description}");
        }
        /// <summary>
        /// Generate cls report for single year.
        /// </summary>
        private void GenerateClassSingleYearReport()
        {
            string description = $"Class Report for {this.YearsCollection[this.YearsIndex]}";

            this.ProgressEvent?.Invoke($"Started {description}");

            ReportCounterManager <YearCounter> results =
                ClassReportFactory.RunYearReportForAllCls(
                    this.groupsAndClassesIoController,
                    this.YearsCollection[this.YearsIndex],
                    this.FullList);

            this.classSingleYearReportResults.Invoke(
                results,
                this.YearsCollection[this.YearsIndex]);

            this.ProgressEvent?.Invoke($"Completed {description}");
        }