private boolean assumeOkMethod(@NotNull PsiMethodCallExpression call) {
      PsiMethod method = call.resolveMethod();
      if (method == null) return false;
      if (method.getName().startsWith("assert") && ExpressionUtils.isVoidContext(call)) return false;
      if (PropertyUtilBase.isSimplePropertyGetter(method)) return true;
      PsiExpression[] args = call.getArgumentList().getExpressions();
      PsiExpression qualifier = ExpressionUtils.getEffectiveQualifier(call.getMethodExpression());
      if (PropertyUtilBase.isSimplePropertySetter(method) && ExpressionUtils.resolveLocalVariable(qualifier) == myVariable) {
        return true;
      }
      for (PsiExpression expr : ArrayUtil.append(args, qualifier)) {
        if (expr != null) {
          PsiLocalVariable variable = ExpressionUtils.resolveLocalVariable(expr);
          if (expr instanceof PsiLambdaExpression lambda &&
              lambda.getBody() != null &&
              SideEffectChecker.mayHaveNonLocalSideEffects(lambda.getBody())) {
            continue;
          }
          if (!isInside(variable) && !ClassUtils.isImmutable(expr.getType())) return false;
        }
      }
      return true;
    }
private boolean assumeOkMethod(@NotNull PsiMethodCallExpression call)