void (PsiBuilder builder) { PsiBuilder.Marker expr = myParser.getExpressionParser().parse(builder); if (expr == null) return; PsiBuilder.Marker expressionStatement; if (builder.getTokenType() != JavaTokenType.COMMA) { expressionStatement = expr.precede(); done(expressionStatement, myJavaElementTypeContainer.EXPRESSION_STATEMENT, myWhiteSpaceAndCommentSetHolder); } else { PsiBuilder.Marker expressionList = expr.precede(); expressionStatement = expressionList.precede(); do { builder.advanceLexer(); PsiBuilder.Marker nextExpression = myParser.getExpressionParser().parse(builder); if (nextExpression == null) { error(builder, JavaPsiBundle.message("expected.expression")); } } while (builder.getTokenType() == JavaTokenType.COMMA); done(expressionList, myJavaElementTypeContainer.EXPRESSION_LIST, myWhiteSpaceAndCommentSetHolder); done(expressionStatement, myJavaElementTypeContainer.EXPRESSION_LIST_STATEMENT, myWhiteSpaceAndCommentSetHolder); } expressionStatement.setCustomEdgeTokenBinders(null, WhitespacesBinders.DEFAULT_RIGHT_BINDER); }