public static bool Finish()
        {
            // write RuntimeInstance.testingReportModel into RuntimeInstance.testReportFilePath file
            if (RuntimeInstance.currentTestingModule != null)
            {
                GUI_Utils.CheckRuntimeInstance();
                if (!RuntimeInstance.testingReportModel.ListTestModules.Contains(RuntimeInstance.currentTestingModule))
                {
                    RuntimeInstance.testingReportModel.ListTestModules.Add(RuntimeInstance.currentTestingModule);
                }
            }
            bool need2WriteLog = RuntimeInstance.testingReportModel != null &&
                                 RuntimeInstance.testingReportModel.ListTestModules != null &&
                                 RuntimeInstance.testingReportModel.ListTestModules.Count > 0;

            if (need2WriteLog)
            {
                TestReportFileLoader.WriteFile(RuntimeInstance.testReportFilePath, RuntimeInstance.testingReportModel);
            }
            if (need2WriteLog ||
                (RuntimeInstance.additionFiles != null &&
                 RuntimeInstance.additionFiles.Count > 0))
            {
                // add generated file to current testing project here
                AddReportFiles2Proj(need2WriteLog);
            }
            return(true);
        }