private static void registerPatchQualifierFixes(@NotNull HighlightInfo.Builder info,
                                                  @NotNull TextRange textRange,
                                                  @NotNull PsiMethodCallExpression call,
                                                  @NotNull PsiMethod method,
                                                  @NotNull PsiTypeParameter typeParameter,
                                                  @NotNull PsiType expectedTypeValue,
                                                  @NotNull PsiParameter @NotNull [] parameters,
                                                  @NotNull Set<PsiTypeParameter> set) {
    PsiMethodCallExpression qualifierCall = MethodCallUtils.getQualifierMethodCall(call);
    if (qualifierCall == null) return;
    JavaResolveResult qualifierResolve = qualifierCall.resolveMethodGenerics();
    PsiMethod qualifierMethod = tryCast(qualifierResolve.getElement(), PsiMethod.class);
    if (qualifierMethod == null) return;
    PsiClassType qualifierType = tryCast(qualifierMethod.getReturnType(), PsiClassType.class);
    if (qualifierType == null) return;
    if (ContainerUtil.exists(parameters, p -> PsiTypesUtil.mentionsTypeParameters(p.getType(), set))) return;
    PsiClassType.ClassResolveResult classResolveResult = qualifierType.resolveGenerics();
    PsiClass qualifierClass = classResolveResult.getElement();
    if (qualifierClass == null) return;
    PsiType expectedQualifierType = JavaPsiFacade.getElementFactory(method.getProject())
      .createType(qualifierClass, classResolveResult.getSubstitutor().put(typeParameter, expectedTypeValue));
    PsiType actualType = qualifierCall.getType();
    if (actualType != null && !expectedQualifierType.equals(actualType)) {
      registerPatchParametersFixes(info, textRange, qualifierCall, qualifierMethod, expectedQualifierType, actualType);
    }
  }
private static void registerPatchQualifierFixes(@NotNull HighlightInfo.Builder info,
                                                  @NotNull TextRange textRange,
                                                  @NotNull PsiMethodCallExpression call,
                                                  @NotNull PsiMethod method,
                                                  @NotNull PsiTypeParameter typeParameter,
                                                  @NotNull PsiType expectedTypeValue,
                                                  @NotNull PsiParameter @NotNull [] parameters,
                                                  @NotNull Set<PsiTypeParameter> set)