OpenHome.Songcast.MediaPlayerList.Purge C# (CSharp) Method

Purge() private method

private Purge ( ) : void
return void
        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--;
            }
        }