public void Pause() { if (_isPaused) { System.Diagnostics.Debug.Assert(!_isStarted); return; } if (_isStarted) { InternalStop(); _isStarted = false; _isPaused = true; } else { _isPaused = false; } }