Object demarshalledKey;
final String assumedKeyType = ctx.getAssumedMapKeyType();
final String assumedValueType = ctx.getAssumedMapValueType();
for (final String key : o.isObject().keySet()) {
final EJValue ejValue = o.isObject().get(key);
if (key.startsWith(SerializationParts.EMBEDDED_JSON)) {
final EJValue ejKey = ParserFactory.get().parse(key.substring(SerializationParts.EMBEDDED_JSON.length()));
demarshalledKey = ctx.getMarshallerInstance(ctx.determineTypeFor(null, ejKey)).demarshall(ejKey, ctx);
impl.put(demarshalledKey,
ctx.getMarshallerInstance(ctx.determineTypeFor(null, ejValue)).demarshall(ejValue, ctx));
}
else {