@Override
  protected boolean parseMultiplicativeExpression(PsiBuilder builder) {
    PsiBuilder.Marker expr = builder.mark();
    if (!parseUnionExpression(builder)) {
      expr.drop();
      return false;
    }

    while (XPath2TokenTypes.MULT_OPS.contains(builder.getTokenType())) {
      makeToken(builder);
      if (!parseUnionExpression(builder)) {
        builder.error(XPathBundle.message("parsing.error.expression.expected"));
      }
      expr.done(XPathElementTypes.BINARY_EXPRESSION);
      expr = expr.precede();
    }

    expr.drop();
    return true;
  }
@Override
  protected boolean parseMultiplicativeExpression(PsiBuilder builder)