boolean ( PsiExpression expression, PsiExpressionList expressionList) { final PsiElement parent = expressionList.getParent(); final PsiParameterList parameterList; if (parent instanceof PsiMethodCallExpression methodCallExpression) { if (isQualifierNonNlsAnnotated(methodCallExpression)) { return true; } final PsiMethod method = methodCallExpression.resolveMethod(); if (method == null) { return false; } parameterList = method.getParameterList(); } else if (parent instanceof PsiNewExpression newExpression) { final PsiMethod constructor = newExpression.resolveConstructor(); if (constructor == null) { return false; } parameterList = constructor.getParameterList(); } else { return false; } final PsiExpression[] expressions = expressionList.getExpressions(); int index = -1; for (int i = 0; i < expressions.length; i++) { final PsiExpression argument = expressions[i]; if (PsiTreeUtil.isAncestor(argument, expression, false)) { index = i; } } final PsiParameter[] parameters = parameterList.getParameters(); if (parameters.length == 0) { return false; } final PsiParameter parameter; if (index < parameters.length) { parameter = parameters[index]; } else { parameter = parameters[parameters.length - 1]; } return isNonNlsAnnotatedModifierListOwner(parameter); }