boolean swapTCCL = (msg.getHeaders().get(Constants.SUPPRESS_TCCL_SWAP) == null);
try {
// The following call might create a new conversation, as a result, the msg.getConversationID() might
// return a new value
ReflectiveInstanceWrapper wrapper = (ReflectiveInstanceWrapper) scopeContainer.getWrapper(contextId);
// If there is a callback interface and the implementation is stateless, we need to
// inject callbacks at invocation time. For Composite scope, this has already been done.
if (( interfaze.getCallbackInterface() != null ) && (scopeContainer.getScope().equals(Scope.STATELESS))){
// TUSCANY-4000 - injectCallbacks needs the Java callback interface so get it
// from the component type just in case the user has specified a
// WSDL interface and hence interfaze is WSDL
injectCallbacks(wrapper, (JavaInterface)service.getService().getInterfaceContract().getCallbackInterface());
}
final Object instance = wrapper.getInstance();
// If the method couldn't be computed statically, or the instance being
// invoked is a user-specified callback object that doesn't implement
// the service interface from which the reflective method was obtained,
// compute the method object dynamically for this invocation.