private static @NotNull List<PsiClassType> getUnhandledExceptions(@NotNull PsiMethod method,
                                                                    PsiElement element,
                                                                    PsiElement topElement,
                                                                    @NotNull Supplier<? extends PsiSubstitutor> substitutor) {
    if (isArrayClone(method, element)) {
      return Collections.emptyList();
    }
    final PsiClassType[] referencedTypes = method.getThrowsList().getReferencedTypes();
    if (referencedTypes.length == 0) {
      return Collections.emptyList();
    }

    return getUnhandledExceptions(element, topElement, substitutor.get(), referencedTypes);
  }
private static @NotNull List<PsiClassType> getUnhandledExceptions(@NotNull PsiMethod method,
                                                                    PsiElement element,
                                                                    PsiElement topElement,
                                                                    @NotNull Supplier<? extends PsiSubstitutor> substitutor)