public virtual MenuItem this [int index] { get { if (index < 0 || index >= Count) throw new ArgumentOutOfRangeException ("Index of out range"); return (MenuItem) items[index]; } }