// Check for the case of serialised maps, and assign StateManagers to any PC keys/values without
AbstractMemberMetaData fmd = ownerSM.getClassMetaData().getMetaDataForMember(fieldName);
if (SCOUtils.mapHasSerialisedKeysAndValues(fmd) &&
(fmd.getMap().keyIsPersistent() || fmd.getMap().valueIsPersistent()))
{
ExecutionContext ec = ownerSM.getExecutionContext();
Iterator iter = m.entrySet().iterator();
while (iter.hasNext())
{
Map.Entry entry = (Map.Entry)iter.next();
Object key = entry.getKey();
Object value = entry.getValue();
if (fmd.getMap().keyIsPersistent())
{
ObjectProvider objSM = ec.findObjectProvider(key);
if (objSM == null)
{
objSM = ObjectProviderFactory.newForEmbedded(ec, key, false, ownerSM, fieldNumber);
}
}
if (fmd.getMap().valueIsPersistent())
{
ObjectProvider objSM = ec.findObjectProvider(value);
if (objSM == null)
{
objSM = ObjectProviderFactory.newForEmbedded(ec, value, false, ownerSM, fieldNumber);
}
}