private Token parseAlternatives(char next, TokenType first, TokenType second) {
        int currentLine = line;
        int currentColumn = column;
        skip();
        if (peek() == next) {
            skip();
            return new Token(first, null, currentLine, currentColumn);
        } else {
            return new Token(second, null, currentLine, currentColumn);
        }
    }
Gets a slice of the expression starting from the given 0-based
character position, read all the way through to the current
position of the parser.

@param start Position to slice from, ending at the current position.
@return Returns the slice of the expression from {@code start} to {@link #position}.
smithy-jmespath/src/main/java/software/amazon/smithy/jmespath/Lexer.java