private JmespathExpression parseNudLbrace() {
        int line = iterator.line();
        int column = iterator.column();
        Map<String, JmespathExpression> entries = new LinkedHashMap<>();

        while (iterator.hasNext()) {
            // A multi-select-hash requires at least one key value pair.
            Token key = iterator.expect(TokenType.IDENTIFIER);
            iterator.expect(TokenType.COLON);
            JmespathExpression value = expression(0);
            entries.put(key.value.expectStringValue(), value);

            if (iterator.expectPeek(TokenType.RBRACE, TokenType.COMMA).type == TokenType.COMMA) {
                iterator.expect(TokenType.COMMA);
            } else {
                break;
            }
        }

        iterator.expect(TokenType.RBRACE);
        return new MultiSelectHashExpression(entries, line, column);
    }
Tokens that can follow led tokens.
smithy-jmespath/src/main/java/software/amazon/smithy/jmespath/Parser.java