public void Sort()
        {
            #region ...

            SPDisplayObjectContainer container = new SPStage();

            SPDisplayObject obj1 = new SPQuad(32.0f, 32.0f);
            SPDisplayObject obj2 = new SPQuad(32.0f, 32.0f);
            SPDisplayObject obj3 = new SPQuad(32.0f, 32.0f);
            SPDisplayObject obj4 = new SPQuad(32.0f, 32.0f);

            obj1.Name = "Apple";
            obj2.Name = "Pear";
            obj3.Name = "Banana";
            obj4.Name = "Peach";

            container.Add(obj1);
            container.Add(obj2);
            container.Add(obj3);
            container.Add(obj4);

            Console.WriteLine("BEFORE");
            Console.WriteLine("{0}: {1}", 0, container[0].Name);
            Console.WriteLine("{0}: {1}", 1, container[1].Name);
            Console.WriteLine("{0}: {1}", 2, container[2].Name);
            Console.WriteLine("{0}: {1}", 3, container[3].Name);

            container.Sort(delegate(SPDisplayObject o1, SPDisplayObject o2) {
                return o1.Name.CompareTo(o2.Name);
            });

            Console.WriteLine("AFTER:");
            Console.WriteLine("{0}: {1}", 0, container[0].Name);
            Console.WriteLine("{0}: {1}", 1, container[1].Name);
            Console.WriteLine("{0}: {1}", 2, container[2].Name);
            Console.WriteLine("{0}: {1}", 3, container[3].Name);

            Assert.True(container[0] == obj1);
            Assert.True(container[1] == obj3);
            Assert.True(container[2] == obj4);
            Assert.True(container[3] == obj2);

            #endregion
        }