@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiJavaToken element) {
    final PsiPolyadicExpression expression = SplitConditionUtil.findCondition(element, true, false);
    if (expression == null || expression.getOperands().length < 2) return null;

    PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent());
    if (!(parent instanceof PsiLambdaExpression lambda)) return null;
    if (lambda.getParameterList().getParametersCount() != 1) return null;
    parent = PsiUtil.skipParenthesizedExprUp(parent.getParent());

    if (!(parent instanceof PsiExpressionList)) return null;
    final PsiElement gParent = parent.getParent();
    if (!(gParent instanceof PsiMethodCallExpression call)) return null;
    if (!MergeFilterChainAction.isFilterCall(call) || hasPatternVariablesUsedAfterSplit(expression, element)) return null;
    
    return Presentation.of(JavaBundle.message("intention.split.filter.text"));
  }
@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiJavaToken element)