@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiElement element, @NotNull ModPsiUpdater updater) {
    if (!context.selection().isEmpty()) {
      final List<PsiMethodCallExpression> methodCalls =
        PsiSelectionSearcher.searchElementsInSelection(element.getContainingFile(), context.selection(), PsiMethodCallExpression.class, false);
      if (!methodCalls.isEmpty()) {
        for (PsiMethodCallExpression call : methodCalls) {
          PsiMethodCallExpression flipped = flipCall(call);
          if (flipped != null) {
            updater.highlight(flipped);
            updater.moveCaretTo(flipped);
          }
        }
        return;
      }
    }
    if (element instanceof PsiMethodCallExpression call) {
      flipCall(call);
    }
  }
@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiElement element, @NotNull ModPsiUpdater updater)