static <T> T processPrefixed(@NotNull PsiExpression expression,
                               boolean isNegated,
                               @NotNull BiFunction<? super PsiExpression, ? super Boolean, T> handler) {
    while (expression instanceof PsiPrefixExpression prefixExpr) {
      IElementType tokenType = prefixExpr.getOperationTokenType();
      if (!ArrayUtil.contains(tokenType, PREFIXES)) break;
      isNegated ^= JavaTokenType.MINUS.equals(tokenType);
      expression = prefixExpr.getOperand();
    }
    return handler.apply(expression, isNegated);
  }
static <T> T processPrefixed(@NotNull PsiExpression expression,
                               boolean isNegated,
                               @NotNull BiFunction<? super PsiExpression, ? super Boolean, T> handler)