public virtual MenuItem this [string key] { get { if (string.IsNullOrEmpty (key)) return null; foreach (MenuItem m in items) if (string.Compare (m.Name, key, true) == 0) return m; return null; } }