private static @NotNull PsiType unwrap(@NotNull PsiType type) {
        if (type instanceof PsiCapturedWildcardType capturedWildcardType) {
            return unwrap(capturedWildcardType.getWildcard());
        } else if (type instanceof PsiWildcardType wildcardType) {
            if (wildcardType.isExtends()) return wildcardType.getExtendsBound();
            if (wildcardType.isSuper()) return wildcardType.getSuperBound();
        }
        return type;
    }
private static @NotNull PsiType unwrap(@NotNull PsiType type)