@Override
    public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
      super.visitCallExpression(callExpression);
      if (!anyMethodMayClose) {
        return;
      }
      final PsiExpressionList argumentList = callExpression.getArgumentList();
      if (argumentList == null) {
        return;
      }
      final PsiExpression[] expressions = argumentList.getExpressions();
      for (PsiExpression argument : expressions) {
        final PsiExpression maybeReferenceExpression = PsiUtil.deparenthesizeExpression(argument);
        if (!(maybeReferenceExpression instanceof PsiReferenceExpression)) {
          continue;
        }
        if (ExpressionUtils.isReferenceTo(maybeReferenceExpression, boundVariable)) {
          if (callExpression instanceof PsiMethodCallExpression) {
            PsiExpression returnedValue = JavaMethodContractUtil.findReturnedValue((PsiMethodCallExpression)callExpression);
            if (returnedValue != null && returnedValue == maybeReferenceExpression) return;
          }
          escaped = true;
          break;
        }
      }
    }
@Override
    public void visitCallExpression(@NotNull PsiCallExpression callExpression)