private static boolean isEffectivelyFinal(PsiElement context, PsiExpression expression) {
      return ExpressionUtils.nonStructuralChildren(expression).allMatch(c -> isEffectivelyFinal(context, expression, c));
    }
private static boolean isEffectivelyFinal(PsiElement context, PsiExpression expression)