docs: static int readRawVarint32(final InputStream input) throws IOException
      {
          final int firstByte = input.read();
          if (firstByte == -1)
          {
              throw ProtobufException.truncatedMessage();
          }
  
          if ((firstByte & 0x80) == 0)
          {
              return firstByte;
          }
          return readRawVarint32(input, firstByte);
      }