private static int skipRelativeRootShapeId(IdlInternalTokenizer tokenizer) {
        tokenizer.expect(IdlToken.IDENTIFIER);
        tokenizer.next();
        // Don't include whatever character comes next in the slice.
        int endOffset = tokenizer.getCurrentTokenSpan();
        if (tokenizer.getCurrentToken() == IdlToken.DOLLAR) {
            tokenizer.next();
            tokenizer.expect(IdlToken.IDENTIFIER);
            tokenizer.next();
            // It had a member, so update the offset to not include.
            endOffset = tokenizer.getCurrentTokenSpan();
        }
        return endOffset;
    }
Expects that the tokenizer is on a relative or absolute shape ID, skips over it, and returns a borrowed slice
of the shape ID.

@param tokenizer Tokenizer to consume and advance.
@return Returns the borrowed shape ID.
smithy-model/src/main/java/software/amazon/smithy/model/loader/IdlShapeIdParser.java