"jdo.identityChanged", _name, oid.getIdentity(),
getIdentity(tx, object)));
}
// load field values from cache (if availabe)
ProposedEntity oldentity = new ProposedEntity();
oldentity.setFields(locker.getObject(tx));
if (oldentity.getFields() == null) {
throw new PersistenceException(
Messages.format("persist.objectNotFound", _name, oid));
}
// set the new timeStamp into the data object
long timeStamp = System.currentTimeMillis();
if (object instanceof TimeStampable) {
((TimeStampable) object).jdoSetTimeStamp(timeStamp);
}
ProposedEntity newentity = new ProposedEntity();
newentity.initializeFields(_fhs.length);
for (int i = 0; i < _fhs.length; i++) {
newentity.setField(_resolvers[i].store(tx, object, oldentity.getField(i)), i);
}
Connection conn = tx.getConnection(oid.getMolder().getLockEngine());
_persistence.store(conn, oid.getIdentity(), newentity, oldentity);
}