private IEnumerable <object> RootElements(Repository repo) { List <object> result = new List <object>(); foreach (object each in repo.GetElements()) { MetaDescription meta = repo.DescriptionOf(each); PropertyDescription containerProperty = meta.ContainerPropertyOrNull(); if (containerProperty != null) { Object container = containerProperty.Read(each); if (container == null) { result.Add(each); } } else { result.Add(each); } } ; return(result); }