docs: public int readUnsignedInt() {
          int variableByteDecode = 0;
          byte variableByteShift = 0;
  
          // check if the continuation bit is set
          while ((this.bufferData[this.bufferPosition] & 0x80) != 0) {
              variableByteDecode |= (this.bufferData[this.bufferPosition++] & 0x7f) << variableByteShift;
              variableByteShift += 7;
          }
  
          // read the seven data bits from the last byte
          return variableByteDecode | (this.bufferData[this.bufferPosition++] << variableByteShift);
      }