static void Main(string[] args)
        {
            ConcreteAggregate aggregate = new ConcreteAggregate();

            aggregate[0] = "Item 1";
            aggregate[1] = "Item 2";
            aggregate[2] = "Item 3";
            aggregate[3] = "Item 4";

            ConcreteIterator iterator = new ConcreteIterator(aggregate);

            object item = iterator.First();
            while (!iterator.IsEnd())
            {
                Console.WriteLine(item);
                item = iterator.Next();
            }

            Console.Read();
        }