public GnToken Next()
        {
            if (_token == null)
            {
                Peek();
            }
            var result = _token;

            _token = null;
            return(result);
        }
 public GnToken Peek()
 {
     if (_offset >= _source.Length)
     {
         return(null);
     }
     if (_token == null)
     {
         _token = ParseToken();
     }
     return(_token);
 }