public IEnumerator GetEnumerator() { Image[] images = new Image[this.Count]; int index; if (images.Length != 0) { // Handle is created only when there are images. CreateHandle(); for (index = 0; index < images.Length; index++) images[index] = (Image)((Image)list[index]).Clone(); } return images.GetEnumerator(); }