private static void checkCall(@NotNull PsiCall methodCall, @NotNull ProblemsHolder holder) {
    PsiExpressionList argumentList = methodCall.getArgumentList();
    if (argumentList == null) return;
    PsiMethod method = methodCall.resolveMethod();
    if (method == null) return;
    PsiParameter[] parameters = method.getParameterList().getParameters();
    PsiExpression[] arguments = argumentList.getExpressions();
    for (int i = 0; i < parameters.length; i++) {
      PsiParameter parameter = parameters[i];
      PsiType type = parameter.getType();
      int stopArg = i;
      if (type instanceof PsiEllipsisType ellipsisType) {
        type = ellipsisType.getComponentType();
        stopArg = arguments.length - 1;
      }
      AllowedValues values = MagicConstantUtils.getAllowedValues(parameter, type, methodCall);
      if (values == null) continue;
      if (i >= arguments.length) break;
      for (int j = i; j <= stopArg; j++) {
        PsiExpression argument = arguments[j];
        argument = PsiUtil.deparenthesizeExpression(argument);
        if (argument == null) continue;

        checkMagicParameterArgument(parameter, argument, values, holder);
      }
    }
  }
private static void checkCall(@NotNull PsiCall methodCall, @NotNull ProblemsHolder holder)