public void skip() {
        if (_depth == 0)
            return;
        int classHandle = nextType();
        if (classHandle == 0)
            return;
        int size = -1;
        if (classHandle < FIXED_ENCODING_SIZES.length) {
            size = FIXED_ENCODING_SIZES[classHandle];
        } else if (classHandle == CLASS_REREF) {
            int base = _bytes[_next++] & 0xFF;
            decodeVariableLengthInt(base);
            size = 0;
        }

        if (size >= 0) {
            _next += size;
        } else {
            closeVariableLengthItem();
        }
    }