void disconnectDriver()
        {
            var driver = _driver_;
            if (driver == null)
                return;

            _documentEvents.DocumentSaved -= driver.onDocumentSaved;

            _buildEvents.OnBuildBegin -= driver.onBuildBegin;
            _buildEvents.OnBuildDone -= driver.onBuildDone;

            _buildSolutionEvent.BeforeExecute -= driver.onBeforeBuildSolutionCommand;
            _buildSolutionEvent.AfterExecute -= driver.onAfterBuildSolutionCommand;

            _driver_.Dispose();
            _driver_ = null;

            Log.D("driver disconnected");
        }
        void connectDriver(BuildType buildType)
        {
            if (_driver_ != null)
                return;

            var backgroundBuild = new BackgroundBuild2(_dte, _outputPane);
            var ui = new DriverUI(_dte, _outputWindow, _outputPane);
            var driver = new Driver(_dte, buildType, backgroundBuild, ui);

            _documentEvents.DocumentSaved += driver.onDocumentSaved;

            _buildEvents.OnBuildBegin += driver.onBuildBegin;
            _buildEvents.OnBuildDone += driver.onBuildDone;

            _buildSolutionEvent.BeforeExecute += driver.onBeforeBuildSolutionCommand;
            _buildSolutionEvent.AfterExecute += driver.onAfterBuildSolutionCommand;

            _driver_ = driver;

            Log.D("driver connected");
        }