public void Purge()
 {
     CollectionEntry[] entryArray = this._items;
     if (100 < entryArray.Length)
     {
         this._items = new CollectionEntry[5];
     }
 }
 protected void AddItem(object value, int tag)
 {
     CollectionEntry[] entryArray = this._items;
     for (int i = 0; i < entryArray.Length; i++)
     {
         if (!entryArray[i].HasTarget)
         {
             entryArray[i].Target = value;
             entryArray[i].Tag = tag;
             return;
         }
     }
     int num3 = (5 == entryArray.Length) ? 15 : (entryArray.Length + 15);
     CollectionEntry[] entryArray2 = new CollectionEntry[num3];
     for (int j = 0; j < entryArray.Length; j++)
     {
         entryArray2[j] = entryArray[j];
     }
     entryArray2[entryArray.Length].Target = value;
     entryArray2[entryArray.Length].Tag = tag;
     this._items = entryArray2;
 }