public int readVInt() {
        if(pointer >= endByte)
            return -1;

        byte b = readByte();

        if(b == (byte) 0x80)
            return -1;

        int value = b & 0x7F;
        while ((b & 0x80) != 0) {
          b = readByte();
          value <<= 7;
          value |= (b & 0x7F);
        }

        return value;
    }
public int readVInt ( ) { if ( pointer >= endByte ) return - 1 ; byte b = readByte ( ) ; if ( b == ( byte ) 0x80 ) return - 1 ; int value = b & 0x7F ; while ( ( b & 0x80 ) != 0 ) { b = readByte ( ) ; value <<= 7 ; value |= ( b & 0x7F ) ; } return value ; }
@return a variable-byte integer at the current offset.  The offset is incremented by the size of the returned integer.