@Override
    public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
      MutationSignature signature = MutationSignature.fromCall(expression);
      if (!assumeOkMethod(expression) &&
          (ExpressionUtils.isVoidContext(expression) ||
           signature == MutationSignature.unknown() || signature.performsIO() ||
           signature.mutatedExpressions(expression).map(ExpressionUtils::resolveLocalVariable)
             .anyMatch(var -> !isInside(var)))) {
        addSideEffect();
        return;
      }
      super.visitMethodCallExpression(expression);
    }
@Override
    public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression)