protected boolean parseForExpr(PsiBuilder builder) {
    final PsiBuilder.Marker mark = builder.mark();
    checkMatches(builder, XPath2TokenTypes.FOR, XPathBundle.message("parsing.error.for.expected"));

    parseBindingSequence(builder);

    final PsiBuilder.Marker ret = builder.mark();
    checkMatches(builder, XPath2TokenTypes.RETURN, XPathBundle.message("parsing.error.return.expected"));
    if (!parseExprSingle(builder)) {
      builder.error(XPathBundle.message("parsing.error.expression.expected"));
    }

    ret.done(XPath2ElementTypes.BODY);
    mark.done(XPath2ElementTypes.FOR);
    return true;
  }
protected boolean parseForExpr(PsiBuilder builder)