final EJObject jsonObject = o.isObject();
for (final String key : jsonObject.keySet()) {
if (MessageParts.SessionID.name().equals(key))
continue;
final EJValue v = jsonObject.get(key);
if (!v.isNull()) {
final Marshaller<Object> marshallerInstance = ctx.getMarshallerInstance(ctx.determineTypeFor(null, v));
impl.put(key, marshallerInstance.demarshall(v, ctx));
}
else {
impl.put(key, null);