private PageDataCollection GetStandardPageChildren(PageReference parent) { PageDataCollection standardPages = new PageDataCollection(); IEnumerable<PageData> children = _contentLoader.GetChildren<PageData>(parent); foreach (PageData child in children) { var standardPage = child as StandardPage; if (standardPage != null) { standardPages.Add(standardPage); } standardPages.AddRange(GetStandardPageChildren(child.PageLink)); } return standardPages; }