public final char expect(char... tokens) {
        for (char token : tokens) {
            if (peek() == token) {
                skip();
                return token;
            }
        }

        StringBuilder message = new StringBuilder("Found '")
                .append(peekSingleCharForMessage())
                .append("', but expected one of the following tokens:");
        for (char c : tokens) {
            message.append(' ').append('\'').append(c).append('\'');
        }

        throw syntax(message.toString());
    }
Expects that the next character is one of a fixed set of possible characters.

@param tokens Characters to expect.
@return Returns the consumed character.
smithy-utils/src/main/java/software/amazon/smithy/utils/SimpleParser.java