// Token: 0x06001EB8 RID: 7864 RVA: 0x00065034 File Offset: 0x00063234
        public void method_0(T item)
        {
            Class299 <T> .Class300 @class = null;
            bool flag = false;

            if (this.list_1.Count > 0)
            {
                @class = this.list_1.Last <Class299 <T> .Class300>();
                if (@class.list_0.Count == this.int_0)
                {
                    @class = null;
                }
            }
            if (@class == null)
            {
                @class = new Class299 <T> .Class300();

                this.list_1.Add(@class);
                flag = true;
            }
            int group = this.list_1.Count - 1;

            @class.list_0.Add(item);
            this.dictionary_0.Add(item, @class);
            this.list_0.Add(item);
            if (flag && this.eventHandler_2 != null)
            {
                this.eventHandler_2(this, new EventArgs35(group));
            }
            if (this.eventHandler_0 != null)
            {
                this.eventHandler_0(this, new EventArgs5 <T>(item, group));
            }
        }
        // Token: 0x06001EB9 RID: 7865 RVA: 0x000650F8 File Offset: 0x000632F8
        public void method_1(T item)
        {
            Class299 <T> .Class300 @class = this.dictionary_0[item];
            int removedIndex = this.list_0.IndexOf(item);

            this.dictionary_0.Remove(item);
            this.list_0.Remove(item);
            @class.list_0.Remove(item);
            int num  = this.list_1.IndexOf(@class);
            int num2 = num;

            for (int i = num + 1; i < this.list_1.Count; i++)
            {
                Class299 <T> .Class300 class2 = this.list_1[i];
                Class299 <T> .Class300 class3 = this.list_1[num2];
                T t = class2.list_0[0];
                class2.list_0.RemoveAt(0);
                class3.list_0.Add(t);
                this.dictionary_0[t] = class3;
                if (this.eventHandler_4 != null)
                {
                    this.eventHandler_4(this, new EventArgs4 <T>(t, i, num2));
                }
                num2++;
            }
            if (this.eventHandler_1 != null)
            {
                this.eventHandler_1(this, new EventArgs6 <T>(item, removedIndex, num));
            }
            @class = this.list_1.Last <Class299 <T> .Class300>();
            if (@class.list_0.Count == 0)
            {
                this.list_1.Remove(@class);
                if (this.eventHandler_3 != null)
                {
                    this.eventHandler_3(this, new EventArgs35(num));
                }
            }
        }