@Override
    public void visitTryStatement(@NotNull PsiTryStatement statement) {
      final Set<PsiType> exceptionsHandled = getExceptionTypesHandled(statement);

      for (PsiClassType resourceException : calculateExceptionsThrown(statement.getResourceList())) {
        if (!isExceptionHandled(exceptionsHandled, resourceException)) {
          myThrownExceptionTypes.add(resourceException);
        }
      }
      for (PsiClassType tryException : calculateExceptionsThrown(statement.getTryBlock())) {
        if (!isExceptionHandled(exceptionsHandled, tryException)) {
          myThrownExceptionTypes.add(tryException);
        }
      }
      calculateExceptionsThrown(statement.getFinallyBlock(), myThrownExceptionTypes);
      for (PsiCodeBlock catchBlock : statement.getCatchBlocks()) {
        calculateExceptionsThrown(catchBlock, myThrownExceptionTypes);
      }
    }
@Override
    public void visitTryStatement(@NotNull PsiTryStatement statement)