/// <summary>
 /// Unsubscribes the given object from the icon load event.
 /// </summary>
 /// <param name="observer">The object observing the loaded icons.</param>
 public void Unsubscribe(IStreamIconsLoadedObserver observer)
 {
     lock (this.ObserverLock)
     {
         if (this.IconsLoadedObservers.Contains(observer))
         {
             this.IconsLoadedObservers.Remove(observer);
         }
     }
 }
 /// <summary>
 /// Subscribes the given object to the icon load event.
 /// </summary>
 /// <param name="observer">The object to observe the loaded icons.</param>
 public void Subscribe(IStreamIconsLoadedObserver observer)
 {
     lock (this.ObserverLock)
     {
         if (!this.IconsLoadedObservers.Contains(observer))
         {
             this.IconsLoadedObservers.Add(observer);
         }
     }
 }