private void finishAnalysis() { for (int i = 0; i < m_analysisModules.Count; i++) { m_counterSem.WaitOne(); } Console.WriteLine("Finished waiting for analysis threads"); StateMaster.closeAnalysisForm(); Console.WriteLine("Analysis Form Closed"); if (m_empty) { ErrorMessages.NoMessages(); return; } foreach (IModule module in m_analysisModules) { if (module.formAvailable()) { StateMaster.displayAnalysisResult(module.getResultForm()); } } }