internal void SendNotification(object ignored) { lock (this) { if (_sapiEventSourceReference != null) { ISpEventSource spEventSource = (ISpEventSource)_sapiEventSourceReference.Target; if (spEventSource != null) { List <SpeechEvent> list = new List <SpeechEvent>(); SpeechEvent item; while ((item = SpeechEvent.TryCreateSpeechEvent(spEventSource, _additionalSapiFeatures, _audioFormat)) != null) { list.Add(item); } _dispatcher.Post(list.ToArray()); } } } }