public void Shutdown()
        {
            if (_isActive)
            {
                StopSpeechRecognition();
            }

            if (_speechRecognitionEngine != null)
            {
                _speechRecognitionEngine.UnloadAllGrammars();
                _grammars.Clear();
                _pendingLoadSpeechGrammarCounter = 0;

                _speechRecognitionEngine.SpeechDetected       -= (SpeechRecognitionEngine_SpeechDetected);
                _speechRecognitionEngine.RecognizeCompleted   -= (SpeechRecognitionEngine_RecognizeCompleted);
                _speechRecognitionEngine.LoadGrammarCompleted -= (SpeechRecognitionEngine_LoadGrammarCompleted);
            }

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

            _speechTranscript.Clear();
            _transcriptRecorder = null;
        }