MuleSession session = new DefaultMuleSession(muleContext);
SessionHandler handler = new SerializeAndEncodeSessionHandler();
NotSerializableClass clazz = new NotSerializableClass();
session.setProperty("foo", clazz);
handler.storeSessionInfoToMessage(session, message);
// store save session to outbound, move it to the inbound
// for retrieve to deserialize
Object s = message.removeProperty(MuleProperties.MULE_SESSION_PROPERTY);
message.setInboundProperty(MuleProperties.MULE_SESSION_PROPERTY, s);
session = handler.retrieveSessionInfoFromMessage(message);