private void BuildLinkedList()
        {
            var count  = 0;
            var lookup = _pageIndex.ToLookup(i => i.ParentId, i => count++);

            foreach (var page in _pageIndex)
            {
                var pageId  = page.PageId;
                var childId = 0;
                foreach (var index in lookup[pageId])
                {
                    if (childId == 0)
                    {
                        page.FirstChild = index;
                    }
                    else
                    {
                        _pageIndex[childId].NextPage = index;
                    }
                    childId = index;
                }
            }
        }