void (@NotNull PsiCall call) { final PsiExpressionList argumentList = call.getArgumentList(); if (argumentList == null) { return; } final PsiExpression[] arguments = argumentList.getExpressions(); if (arguments.length == 0) { return; } final PsiExpression lastArgument = arguments[arguments.length - 1]; final PsiType argumentType = lastArgument.getType(); if (!isPrimitiveArrayType(argumentType)) { return; } final JavaResolveResult result = call.resolveMethodGenerics(); final PsiMethod method = (PsiMethod)result.getElement(); if (method == null || AnnotationUtil.isAnnotated(method, CommonClassNames.JAVA_LANG_INVOKE_MH_POLYMORPHIC, 0)) { return; } final PsiParameterList parameterList = method.getParameterList(); if (parameterList.getParametersCount() != arguments.length) { return; } final PsiParameter[] parameters = parameterList.getParameters(); final PsiParameter lastParameter = parameters[parameters.length - 1]; if (!lastParameter.isVarArgs()) { return; } final PsiEllipsisType parameterType = (PsiEllipsisType)lastParameter.getType(); if (isDeepPrimitiveArrayType(parameterType, result.getSubstitutor())) { return; } registerError(lastArgument, lastArgument, parameterType.getComponentType()); }