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