private static RegexAdvisor GetAdvisor()
        {
            RegexAdvisor advisor = new RegexAdvisor();

            UIActionSuggestionProvider.TeachRules(advisor);
            return(advisor);
        }
        private void RefreshResults(bool makeAutoScopes)
        {
//            if (DateTime.Now > new DateTime(2006, 12, 12))
//            {
//                DialogResult result = MessageBox.Show("This limited beta has expired.\n Press OK to go to the product homepage and download a new version.", "Application Expired", MessageBoxButtons.OKCancel);
//                if (result == DialogResult.OK)
//                {
//                    NavURL("http://regulazy.osherove.com");
//                }
//                return;
//            }
            Scope        root    = txtRegexInput.RootScope;
            RegexAdvisor advisor = new RegexAdvisor();

            UIActionSuggestionProvider.TeachRules(advisor);
//            if (makeAutoScopes)
//            {
////                ThreadStart start = delegate
////                                        {
//                                            advisor.AutoScope(root);
////                                        };
////
////                Thread runner = new Thread(start);
////                runner.Start();
//            }

            results.ShowInProgress();
            ThreadPool.QueueUserWorkItem(delegate
            {
                Application.DoEvents();
                string regex = advisor.Suggest(root)[0].RegexText;
                regex        = optimize(regex);
                regex        = decideIfStartOrEndLine(regex);
                UIShowResultsAfterSuggest(root, regex);
            });
        }