listeners.fireSessionCreating(context, flow);
FlowSession session = activateSession(flow);
if (input == null) {
input = new LocalAttributeMap();
}
StateManageableMessageContext messageContext = (StateManageableMessageContext) context.getMessageContext();
messageContext.setMessageSource(flow.getApplicationContext());
listeners.fireSessionStarting(context, session, input);
flow.start(context, input);
listeners.fireSessionStarted(context, session);
}