public boolean hasQuickFixes(@NotNull AnActionEvent e) {
    final Object[] selection = e.getData(PlatformCoreDataKeys.SELECTED_ITEMS);
    if (selection == null) return false;
    for (Object selectedNode : selection) {
      if (!TreeUtil.treeNodeTraverser((TreeNode)selectedNode)
        .traverse(TreeTraversal.PRE_ORDER_DFS)
        .processEach(node -> {
        if (!((InspectionTreeNode) node).isValid()) return true;
        if (node instanceof ProblemDescriptionNode problemDescriptionNode) {
          if (!problemDescriptionNode.isQuickFixAppliedFromView()) {
            final CommonProblemDescriptor descriptor = problemDescriptionNode.getDescriptor();
            final QuickFix<?>[] fixes = descriptor != null ? descriptor.getFixes() : null;
            return fixes == null || fixes.length == 0;
          }
        }
        return true;
      })) {
        return true;
      }
    }
    return false;
  }
public boolean hasQuickFixes(@NotNull AnActionEvent e)