public void Search()
        {
            using (var searchBox = new SearchBox())
            {
                if (searchBox.ShowDialog(solution.GetComponent<IMainWindow>()) == DialogResult.OK)
                {
                    IEnumerable<Issue> issues = null;

                    try
                    {
                        issues = this.PerformSearch();
                    }
                    catch (Exception exception)
                    {
                    }

                    var model = this.PrepareTreeModel(issues);

                    var controller = new YouTrackTreeViewController(this.solution, model);
                    var browserPanel = new YouTrackTreeModelPanel(controller);
                    var toolWindowManager = solution.GetComponent<ToolWindowManager>();
                    var descriptor = solution.GetComponent<YouTrackToolWindowDescriptor>();
                    var toolWindowClass = toolWindowManager.Classes[descriptor];
                    var toolWindowInstance = toolWindowClass.RegisterInstance(_lifetime, "EMPTY TITLE", null, (lifetime, instance) => browserPanel);
                    toolWindowInstance.Lifetime.AddAction(() => browserPanel.Dispose());
                    toolWindowInstance.EnsureControlCreated().Show();
                }
            }
        }
 public YouTrackTreeModelPanel(YouTrackTreeViewController controller)
     : base(controller)
 {
     this.controller = controller;
     this.statusPanel = new YouTrackStatusPanel
     {
         Dock = DockStyle.Top,
         Height = 10
     };
 }