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);
}
} else if (innerContext.stepCompleted < InferenceContext18.BINDINGS_UPDATED) {