protected override void EndProcessing()
        {
            DataPaneControl paneControl = GetDataPaneControl();
            Control         gridControl = GetPaneControl();

            gridControl.Name = Name;
            gridControl.Dock = DockStyle.Fill;

            paneControl.AddControl(gridControl);

            _toolWindow.Visible = true;
        }
        private DataPaneControl GetDataPaneControl()
        {
            if (null == _dataPaneControl)
            {
                object window = null;
                var    asm    = typeof(DataGridControl).Assembly;
                DTE2   dte2   = Locator.Get <DTE2>();
                AddIn  addIn  = Locator.Get <AddIn>();

                Windows2 w = (Windows2)dte2.Windows;

                if (null == _toolWindow)
                {
                    try
                    {
                        _toolWindow = w.Item(DataPaneControl.Guid);
                        window      = _toolWindow.Object;
                    }
                    catch
                    {
                    }

                    if (null == _toolWindow)
                    {
                        _toolWindow = w.CreateToolWindow2(
                            addIn,
                            asm.Location,
                            typeof(DataPaneControl).FullName,
                            "StudioShell Data Panes",
                            DataPaneControl.Guid,
                            ref window);
                    }
                    if (null == _toolWindow || null == window)
                    {
                        Debug.Assert(false, "unable to locate data pane tool window");
                    }
                }

                _dataPaneControl = (DataPaneControl)window;
            }
            return(_dataPaneControl);
        }