if(o == null)
return generic;
if(o instanceof ManagedObject)
{
PersistedManagedObject mo;
if(generic.getManagedObject() == null)
mo = plugin.createPersistedManagedObject((ManagedObject) o);
else
mo = plugin.createPersistedManagedObject(generic.getManagedObject(), (ManagedObject) o);