MuleSession session = new DefaultMuleSession((FlowConstruct) flowConstruct, muleContext);
// Need to do this otherise when the event is invoked the
// transformer associated with the Mule Admin queue will be invoked, but
// the message will not be of expected type
EndpointBuilder builder = new EndpointURIEndpointBuilder(RequestContext.getEvent().getEndpoint());
// TODO - is this correct? it stops any other transformer from being set
builder.setTransformers(new LinkedList());
InboundEndpoint ep = muleContext.getEndpointFactory().getInboundEndpoint(builder);
MuleEvent event = new DefaultMuleEvent(action.getMessage(), ep, context.getSession());
event = RequestContext.setEvent(event);
if (context.getExchangePattern().hasResponse())