void (@NotNull PsiCallExpression callExpression) { super.visitCallExpression(callExpression); final JavaResolveResult result = callExpression.resolveMethodGenerics(); final String description = getUncheckedCallDescription(callExpression, result); if (description != null) { if (IGNORE_UNCHECKED_CALL) return; registerProblem(description, null, callExpression, LocalQuickFix.EMPTY_ARRAY); } else { if (IGNORE_UNCHECKED_ASSIGNMENT) return; final PsiSubstitutor substitutor = result.getSubstitutor(); final PsiExpressionList argumentList = callExpression.getArgumentList(); if (argumentList != null) { final PsiMethod method = (PsiMethod)result.getElement(); if (method != null) { final PsiExpression[] expressions = argumentList.getExpressions(); final PsiParameter[] parameters = method.getParameterList().getParameters(); if (parameters.length != 0) { for (int i = 0; i < expressions.length; i++) { PsiParameter parameter = parameters[Math.min(i, parameters.length - 1)]; final PsiExpression expression = expressions[i]; final PsiType parameterType = substitutor.substitute(parameter.getType()); final PsiType expressionType = expression.getType(); if (expressionType != null) { checkRawToGenericsAssignment(expression, expression, parameterType, expressionType, () -> LocalQuickFix.EMPTY_ARRAY); } } } } } } }