/// <summary>
        /// The main entry point, populates the report with everything it needs
        /// </summary>
        public void PopulateReport()
        {
            try
            {
                View.SetInProgressState();

                View.PopulateExceptionTab(ReportInfo.Exceptions);
                View.PopulateAssembliesTab();
                if (ExceptionReporter.NotRunningMono())
                {
                    View.PopulateSysInfoTab();
                }
            }
            finally
            {
                View.SetProgressCompleteState();
            }
        }