/// <summary>
 /// Loads the next page.
 /// </summary>
 /// <returns>The number of entries.</returns>
 public int ForwardPage()
 {
     if (_r != null)
     {
         if (_r.MoveNext())
         {
             _entries.FillPage(_r, _currentPath);
         }
         else
         {
             _entries.Count = 0;
         }
     }
     return(Entries.Count);
 }
                internal LivePage(int initialGroupDepth, ParentedLogEntry[] entries, MultiFileReader r, int pageLength)
                {
                    Debug.Assert(pageLength == entries.Length || entries.Length == 0);
                    _r           = r;
                    _pageLength  = pageLength;
                    _currentPath = new List <ParentedLogEntry>();
                    ParentedLogEntry e = null;

                    for (int i = 0; i < initialGroupDepth; ++i)
                    {
                        ParentedLogEntry g = new ParentedLogEntry(e, LogEntry.CreateMissingOpenGroup(DateTimeStamp.Unknown));
                        _currentPath.Add(g);
                        e = g;
                    }
                    _entries = new WrappedList(entries);
                    if (_r != null)
                    {
                        _entries.FillPage(_r, _currentPath);
                    }
                }