public BrowserManager()
        {
            browserMap = new Dictionary<int, BrowserWrapper>();

            dispatcher = new SimpleDispatcher();
            dispatcher.Start();

            PluginManager = new BrowserPluginManager();
        }
        public void Stop()
        {
            CefRuntime.PostTask(CefThreadId.UI, BrowserTask.Create(() =>
            {
                if (!isMultiThreadedMessageLoop)
                {
                    CefRuntime.QuitMessageLoop();
                }
            }));

            dispatcher.PostTask(() =>
            {
                CefRuntime.Shutdown();
            });

            dispatcher.Shutdown();

            int browserMapCount = browserMap.Count;
            if (browserMapCount != 0)
            {
                throw new CefRuntimeException(String.Format(
                    "After shutting down {0} browser instances were undisposed",
                    browserMapCount));
            }

            dispatcher = null;
        }