void RemoveDockWindow(KryptonPage page, bool dispose)
        {
            page.Disposed       -= KryptonPage_Disposed;
            page.VisibleChanged -= KryptonPage_VisibleChanged;

            Debug.Assert(dockWindows.ContainsKey(page));
            dockingManager.RemovePage(page, dispose);

            if (!dockWindows.ContainsKey(page))
            {
                return;
            }

            var removedWindow = dockWindows[page];

            dockWindows.Remove(page);
            OnDockWindowRemoved(removedWindow);
        }