@Nullable
    private static @InspectionMessage String getUncheckedCallDescription(PsiElement place, JavaResolveResult resolveResult) {
      final PsiElement element = resolveResult.getElement();
      if (!(element instanceof PsiMethod method)) return null;
      final PsiSubstitutor substitutor = resolveResult.getSubstitutor();
      if (!PsiUtil.isRawSubstitutor(method, substitutor)) {
        if (JavaVersionService.getInstance().isAtLeast(place, JavaSdkVersion.JDK_1_8)) {
          for (PsiTypeParameter parameter : method.getTypeParameters()) {
            final PsiClassType[] extendsListTypes = parameter.getExtendsListTypes();
            if (extendsListTypes.length > 0) {
              final PsiType subst = substitutor.substitute(parameter);
              for (PsiClassType classType : extendsListTypes) {
                if (JavaGenericsUtil.isRawToGeneric(substitutor.substitute(classType), subst)) {
                  return JavaErrorBundle.message("generics.unchecked.call", JavaHighlightUtil.formatMethod(method));
                }
              }
            }
          }
        }
        return null;
      }
      if (PsiTypesUtil.isUncheckedCall(resolveResult)) {
        final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(method.getProject());
        PsiType type = elementFactory.createType(method.getContainingClass(), substitutor);
        return JavaErrorBundle.message("generics.unchecked.call.to.member.of.raw.type",
                                       JavaHighlightUtil.formatMethod(method),
                                       JavaHighlightUtil.formatType(type));
      }
      return null;
    }
@Nullable
    private static @InspectionMessage String getUncheckedCallDescription(PsiElement place, JavaResolveResult resolveResult)