ArrayList preCalculatedPhases =
confContext.getAxisConfiguration().getGlobalInFlow();
// Set the initial execution chain in the MessageContext to a *copy* of what
// we got above. This allows individual message processing to change the chain without
// affecting later messages.
msgContext.setExecutionChain((ArrayList) preCalculatedPhases.clone());
msgContext.setFLOW(MessageContext.IN_FLOW);
try {
InvocationResponse pi = invoke(msgContext, IS_INBOUND, NOT_RESUMING_EXECUTION);
if (pi.equals(InvocationResponse.CONTINUE)) {