Наследование: DockableToolwindowPresenter
        public SearchResultsDockablePresenter Presenter(ISearchResultsWindowViewModel viewModel)
        {
            if (_presenter == null)
            {
                if (_view.ViewModel == null)
                {
                    _view.ViewModel = viewModel;
                    _view.ViewModel.LastTabClosed += viewModel_LastTabClosed;
                }
                _presenter = new SearchResultsDockablePresenter(_vbe, _addin, _view);
            }

            return(_presenter);
        }
        public SearchResultsDockablePresenter Presenter(ISearchResultsWindowViewModel viewModel)
        {
            if (_presenter == null || _presenter.IsDisposed)
            {
                if (_view.ViewModel == null)
                {
                    _view.ViewModel = viewModel;
                    _view.ViewModel.LastTabClosed += viewModel_LastTabClosed;
                }
                _presenter = new SearchResultsDockablePresenter(_vbe, _addin, _view);
            }

            return _presenter;
        }
        private void Dispose(bool disposing)
        {
            if (disposing)
            {
                return;
            }

            if (_view.ViewModel != null)
            {
                _view.ViewModel.LastTabClosed -= viewModel_LastTabClosed;
            }

            if (_presenter != null)
            {
                _presenter.Dispose();
                _presenter = null;
            }
        }