@Contract("null,_ -> false")
  private static boolean isSimpleExpression(@Nullable PsiExpression expression, @NotNull PsiElement scope) {
    if (expression instanceof PsiReferenceExpression) {
      PsiVariable variable = ObjectUtils.tryCast(((PsiReferenceExpression)expression).resolve(), PsiVariable.class);
      return variable != null && (variable.hasModifierProperty(PsiModifier.FINAL) ||
                                  HighlightControlFlowUtil.isEffectivelyFinal(variable, scope, null));
    }
    if (expression instanceof PsiUnaryExpression) {
      return ((PsiUnaryExpression)expression).getOperand() instanceof PsiLiteralExpression; // "-1" and "!true"
    }
    return expression instanceof PsiLiteralExpression ||
           expression instanceof PsiThisExpression ||
           expression instanceof PsiClassObjectAccessExpression;
  }
@Contract("null,_ -> false")
  private static boolean isSimpleExpression(@Nullable PsiExpression expression, @NotNull PsiElement scope)