void (PsiMethodCallExpression call) { PsiExpression[] expressions = call.getArgumentList().getExpressions(); PsiReferenceExpression methodExpression = call.getMethodExpression(); JavaResolveResult result = methodExpression.advancedResolve(false); PsiMethod method = ObjectUtils.tryCast(result.getElement(), PsiMethod.class); PsiParameter[] parameters = method != null ? method.getParameterList().getParameters() : null; if (method != null && ConsumedStreamUtils.isCheckedCallForConsumedStream(method)) { addConsumedStreamCheckInstructions(methodExpression.getQualifierExpression(), "java.lang.IllegalStateException"); } for (int i = 0; i < expressions.length; i++) { PsiExpression paramExpr = expressions[i]; paramExpr.accept(this); if (parameters != null && i < parameters.length) { generateBoxingUnboxingInstructionFor(paramExpr, result.getSubstitutor().substitute(parameters[i].getType())); } } foldVarArgs(call, parameters); addBareCall(call, methodExpression); finishElement(call); }