@Override
    public @NotNull PsiClassType annotate(@NotNull TypeAnnotationProvider provider) {
      PsiClassType newDelegate = myDelegate.annotate(provider);
      return newDelegate == myDelegate ? this : new PsiCorrectedClassType(myLanguageLevel, newDelegate, myResolveResult);
    }
@Override
    public @NotNull PsiClassType annotate(@NotNull TypeAnnotationProvider provider)