/// <inheritdoc/>
 public void Stop(IAnimation animation)
 {
     if (null == animation)
     {
         return;
     }
     animation.Cancel();
     while (m_animations.ContainsKey(animation))
     {
         Thread.CurrentThread.Join(1);
     }
     animation.Tick(animation.Duration);
 }