public IEnumerable <object> GetLinkedChildren(bool bRecursive) { //return Reflection.GetLinkedChildren(this, bRecursive); var iepsa = this as IEntityPostSerializationActions; foreach (var itemsList in iepsa.GetLinkedChildrenLists()) { foreach (var item in itemsList) { yield return(item); if (bRecursive) { IEntityBase entityBase = item as IEntityBase; if (entityBase != null) { foreach (var childItem in entityBase.GetLinkedChildren(bRecursive)) { yield return(childItem); } } } } } }