@Language("HTML")
  @NotNull
  private static @NlsContexts.Tooltip String createMismatchedArgumentsHtmlTooltip(@NotNull PsiExpressionList list,
                                                                                  @Nullable MethodCandidateInfo info,
                                                                                  PsiParameter @NotNull [] parameters,
                                                                                  @NotNull PsiSubstitutor substitutor) {
    PsiExpression[] expressions = list.getExpressions();
    if ((parameters.length == 0 || !parameters[parameters.length - 1].isVarArgs()) &&
        parameters.length != expressions.length) {
      return createMismatchedArgumentCountTooltip(parameters.length, expressions.length);
    }

    HtmlBuilder message = new HtmlBuilder();
    message.append(getTypeMismatchTable(info, substitutor, parameters, expressions));

    String errorMessage = info != null ? info.getInferenceErrorMessage() : null;
    message.append(getTypeMismatchErrorHtml(errorMessage));
    return message.wrapWithHtmlBody().toString();
  }
@Language("HTML")
  @NotNull
  private static @NlsContexts.Tooltip String createMismatchedArgumentsHtmlTooltip(@NotNull PsiExpressionList list,
                                                                                  @Nullable MethodCandidateInfo info,
                                                                                  PsiParameter @NotNull [] parameters,
                                                                                  @NotNull PsiSubstitutor substitutor)