docs: public long readRawVarint64() throws IOException
      {
          // final byte[] buffer = this.buffer;
          // int offset = this.offset;
  
          int shift = 0;
          long result = 0;
          while (shift < 64)
          {
              final byte b = buffer.get();
              result |= (long) (b & 0x7F) << shift;
              if ((b & 0x80) == 0)
              {
                  // this.offset = offset;
                  return result;
              }
              shift += 7;
          }
          throw ProtobufException.malformedVarint();
      }