@NotNull
  private static Set<String> getAllBoxedTypeSupers(@NotNull PsiClass psiClass) {
    PsiManager manager = psiClass.getManager();
    final Project project = psiClass.getProject();
    CachedValue<Set<String>> boxedHolderTypes = project.getUserData(POSSIBLE_BOXED_HOLDER_TYPES);
    if (boxedHolderTypes == null) {
      project.putUserData(POSSIBLE_BOXED_HOLDER_TYPES, boxedHolderTypes = CachedValuesManager.getManager(manager.getProject()).createCachedValue(
        () -> {
          final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
          final Set<String> set = new HashSet<>();
          for (final String qname : JvmPrimitiveTypeKind.getBoxedFqns()) {
            final PsiClass boxedClass = facade.findClass(qname, GlobalSearchScope.allScope(project));
            InheritanceUtil.processSupers(boxedClass, true, psiClass1 -> {
              ContainerUtil.addIfNotNull(set, psiClass1.getQualifiedName());
              return true;
            });
          }
          return CachedValueProvider.Result.create(set, ProjectRootModificationTracker.getInstance(project));
        }, false));
    }

    return boxedHolderTypes.getValue();
  }
@NotNull
  private static Set<String> getAllBoxedTypeSupers(@NotNull PsiClass psiClass)