private @NotNull List<PsiClassType.ClassResolveResult> calcImmediateSupersWithCapturing() {
    PsiUtilCore.ensureValid(myPlaceClass);
    List<PsiClassType.ClassResolveResult> list = new ArrayList<>();
    for (PsiClassType type : myPlaceClass.getSuperTypes()) {
      PsiUtil.ensureValidType(type, myPlaceClass);
      PsiClassType corrected = PsiClassImplUtil.correctType(type, myResolveScope);
      if (corrected == null) continue;

      PsiClassType.ClassResolveResult result = ((PsiClassType)PsiUtil.captureToplevelWildcards(corrected, myPlaceClass)).resolveGenerics();
      PsiClass superClass = result.getElement();
      if (superClass == null || !PsiSearchScopeUtil.isInScope(myResolveScope, superClass)) continue;

      list.add(result);
    }
    if (list.isEmpty() && myPlaceClass.getExtendsListTypes().length > 0) {
      PsiClassType.ClassResolveResult objectResult = PsiType.getJavaLangObject(myPlaceClass.getManager(), myResolveScope).resolveGenerics();
      if (objectResult.getElement() != null) {
        list.add(objectResult);
      }
    }
    return list;
  }
private @NotNull List<PsiClassType.ClassResolveResult> calcImmediateSupersWithCapturing()