public void RemoveRange(IEnumerable <IUniquelyNamed> containables) { foreach (var containable in containables) { if (containable is IEditable) { Editables.Remove(containable as IEditable); } if (containable is IEditableContainer) { Containers.Remove(containable as IEditableContainer); } if (containable is IDisplayable) { Displayables.Remove(containable as IDisplayable); } if (containable is IContentTransformer) { ContentTransformers.Remove(containable as IContentTransformer); } } }