boolean (PsiBuilder builder) { final PsiBuilder.Marker marker = builder.mark(); if (builder.getTokenType() != XPathTokenTypes.LBRACKET) { marker.drop(); return false; } builder.advanceLexer(); if (!parseExpr(builder)) { builder.error(XPathBundle.message("parsing.error.expression.expected")); } checkMatches(builder, XPathTokenTypes.RBRACKET, XPathBundle.message("parsing.error.closing.bracket.expected")); marker.done(XPathElementTypes.PREDICATE); return true; }