/// <summary> /// Given a collection of items, adds those that are controls to the logical children. /// </summary> /// <param name="items">The items.</param> private void AddControlItemsToLogicalChildren(IEnumerable items) { var toAdd = new List <ILogical>(); if (items != null) { foreach (var i in items) { var control = i as IControl; if (control != null && !LogicalChildren.Contains(control)) { toAdd.Add(control); } } } LogicalChildren.AddRange(toAdd); }