static bool Test2a()
            {
                System.Random ran = new System.Random(2134);

                {
//%%if IsEx==0 (
                    BList <int> list1 = new BList <int>();
//%%elif IsEx==1
                    BListEx <TestElement> list1 = new BListEx <TestElement>();
//%%)
                    const int N = 1000000;
                    for (int i = 0; i < N; i++)
                    {
                        int idx = (int)(ran.NextDouble() * list1.Count);
//%%if IsEx==0 (
                        list1.Insert(idx, i);
//%%elif IsEx==1
                        TestElement e = new TestElement(i);
                        list1.Insert(idx, e);
//%%)
                        if (i % 1000 == 0)
                        {
                            list1.DbgCheckState();
                        }
                    }

                    for (int i = 0; i < N / 2; i++)
                    {
                        int idx = (int)(ran.NextDouble() * list1.Count);
                        list1.RemoveAt(idx);
                        if (i % 1000 == 0)
                        {
                            list1.DbgCheckState();
                        }
                    }

                    list1.DbgCheckState();
                }
                return(true);
            }