@NotNull
  @Override
  public ASTNode parse(IElementType root, PsiBuilder builder) {
    //builder.setDebugMode(true);
    PsiBuilder.Marker rootMarker = builder.mark();
    // Parser should accept empty string
    if (!builder.eof()) {
      parseQuery(builder);
      while (!builder.eof()) {
        builder.error(TaskBundle.message("parsing.error.illegal.query.part"));
        builder.advanceLexer();
      }
    }
    rootMarker.done(root);
    return builder.getTreeBuilt();
  }
@NotNull
  @Override
  public ASTNode parse(IElementType root, PsiBuilder builder)