if (LOG.isTraceEnabled()) LOG.trace("Assembling entity from second-level cache: "
+ MessageHelper.infoString(persister, id, factory));
EntityPersister subclassPersister = factory.getEntityPersister( entry.getSubclass() );
Object result = optionalObject == null ?
session.instantiate( subclassPersister, id ) : optionalObject;
// make it circular-reference safe
final EntityKey entityKey = session.generateEntityKey( id, subclassPersister );
TwoPhaseLoad.addUninitializedCachedEntity(
entityKey,