@NotNull
  private static List<PsiExpression> mismatchedArgs(PsiExpression @NotNull [] expressions,
                                                    PsiSubstitutor substitutor,
                                                    PsiParameter @NotNull [] parameters,
                                                    boolean varargs) {
    List<PsiExpression> result = new ArrayList<>();
    for (int i = 0; i < Math.max(parameters.length, expressions.length); i++) {
      if (parameters.length == 0 || !assignmentCompatible(i, parameters, expressions, substitutor, varargs)) {
        result.add(i < expressions.length ? expressions[i] : null);
      }
    }

    return result;
  }
@NotNull
  private static List<PsiExpression> mismatchedArgs(PsiExpression @NotNull [] expressions,
                                                    PsiSubstitutor substitutor,
                                                    PsiParameter @NotNull [] parameters,
                                                    boolean varargs)