object ItemAtIndex (int index) { if (Groups == null) return index < 0 || index >= ActiveList.Count ? null : ActiveList [index]; foreach (var o in this) { if (index == 0) return o; index --; } return null; }