private IEnumerable <DefaultItem> getChildrenOfItem(IItemReference itemRef, IEnumerable <Enum> types) { var ttypes = types .Select(context.TypeManager.GetTypeItem) .ToArray(); foreach (var type in ttypes) { var children = provider.QueryItemsByRelation(itemRef.Type.Name, itemRef.Guid, type.Name, CHILDREN_MAPPING_TABLE_NAME) .Select(child => new DefaultItem(child, context)) .ToArray(); foreach (var child in children) { yield return(child); } log.Describe($"Resolved {children.Length} children of type: {type}."); } }