internal void Purge()
{
List<int> list = new List<int>();
int index = 0;
foreach (MediaPlayer player in iList)
{
if (!player.Active)
{
list.Add(index);
}
index++;
}
int adjustment = 0;
foreach (int i in list)
{
MediaPlayer player = iList[i + adjustment];
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, player, i + adjustment));
}
iList.Remove(player);
adjustment--;
}
}