public virtual bool MoveNext()
 {
     if (ReachedEnd())
     {
         _current = null;
         return(false);
     }
     if (_current == null)
     {
         _current = _cursor.ShallowClone();
     }
     else
     {
         _cursor.CopyTo(_current);
     }
     _cursor = _cursor.UnsafeFastNext();
     return(true);
 }