// else recreate
try {
final Object pojo = pojoRecreator.recreatePojo(typedOid);
adapter = mapRecreatedPojo(typedOid, pojo);
} catch(RuntimeException ex) {
throw new PojoRecreationException(typedOid, ex);
}
}
// sync versions of original, with concurrency checking if required
Oid adapterOid = adapter.getOid();