public void ChangeNotification()
            {
                collection.Clear();
                item.Index = 0;

                collection.Add(new System.Uri("file:///blah.jpg"));
                Assert.IsTrue(item.IsValid);
                Assert.IsTrue(changed);

                changed = false;
                collection.Add(new System.Uri("file:///test.png"));
                Assert.IsFalse(changed);

                collection.MarkChanged(0);
                Assert.IsTrue(changed);

                changed = false;
                item.MoveNext();
                Assert.IsTrue(changed);
                Assert.AreEqual(item.Index, 1);

                changed = false;
                collection.Add(new System.Uri("file:///bill.png"));
                Assert.IsFalse(changed);
            }
        public TextureDisplay(BrowsablePointer item)
        {
            this.item      = item;
            DoubleBuffered = false;
            AppPaintable   = true;
            CanFocus       = true;

            item.Changed       += HandleItemChanged;
            flip                = new Animator(6000, 6000, delegate { flip.Start(); item.MoveNext(true); });
            flip.RunWhenStarted = false;
        }
		public TextureDisplay (BrowsablePointer item)
		{
			this.item = item;
			DoubleBuffered = false;
			AppPaintable = true;
			CanFocus = true;

			item.Changed += HandleItemChanged;
			flip = new Animator (6000, 6000, delegate { flip.Start (); item.MoveNext (true); }); 
			flip.RunWhenStarted = false;
		}