internal void Unhold()
 {
     if (_started && !_paused)
     {
         SelfTime.Start();
     }
 }
 internal void Hold()
 {
     if (_started && !_paused)
     {
         SelfTime.Stop();
     }
 }
 internal void Start()
 {
     CallCount++;
     SelfTime.Start();
     TotalTime.Start();
     _started = true;
 }
 internal void Stop()
 {
     SelfTime.Stop();
     TotalTime.Stop();
     _started = false;
 }
 internal void Resume()
 {
     SelfTime.Start();
     _paused = false;
 }
 internal void Pause()
 {
     SelfTime.Stop();
     _paused = true;
 }