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
EntityKey entityKey = new EntityKey( id, subclassPersister, session.getEntityMode() );
TwoPhaseLoad.addUninitializedCachedEntity(
entityKey,