boolean (PsiBuilder builder) { PsiBuilder.Marker expr = builder.mark(); if (!parseRelationalExpression(builder)) { expr.drop(); return false; } while (XPathTokenTypes.EQUALITY_OPS.contains(builder.getTokenType())) { makeToken(builder); if (!parseRelationalExpression(builder)) { builder.error(XPathBundle.message("parsing.error.expression.expected")); } expr.done(XPathElementTypes.BINARY_EXPRESSION); expr = expr.precede(); } expr.drop(); return true; }