@Override
  public boolean analyze(@NotNull PsiFile psiFile,
                         boolean updateWholeFile,
                         @NotNull HighlightInfoHolder holder,
                         @NotNull Runnable action) {
    action.run();
    // run unconditionally, because the todo API sucks and is file-level only
    highlightTodos(psiFile, psiFile.getText(), holder.getAnnotationSession().getHighlightRange(), holder);
    return true;
  }
@Override
  public boolean analyze(@NotNull PsiFile psiFile,
                         boolean updateWholeFile,
                         @NotNull HighlightInfoHolder holder,
                         @NotNull Runnable action)