ParameterizedGenericMethodBinding parameterizedMethod = (ParameterizedGenericMethodBinding) binding;
InferenceContext18 innerContext = innerInvocation.getInferenceContext(parameterizedMethod);
if (innerContext != null) {
if (!innerContext.hasResultFor(parameterType)) {
argument.setExpectedType(parameterType);
MethodBinding improvedBinding = innerContext.inferInvocationType(innerInvocation, parameterizedMethod);
if (!improvedBinding.isValidBinding()) {
innerContext.reportInvalidInvocation(innerInvocation, improvedBinding);
}
if (innerInvocation.updateBindings(improvedBinding, parameterType)) {
resolvePolyExpressionArguments(innerInvocation, improvedBinding, scope);