code: private Object instanceNotYetLoaded(
  		final Tuple resultset,
  		final int i,
  		final Loadable persister,
  		final String rowIdAlias,
  		final org.hibernate.engine.spi.EntityKey key,
  		final LockMode lockMode,
  		final org.hibernate.engine.spi.EntityKey optionalObjectKey,
  		final Object optionalObject,
  		final List hydratedObjects,
  		final SharedSessionContractImplementor session)
  	throws HibernateException {
  		final String instanceClass = getInstanceClass(
  				resultset,
  				i,
  				persister,
  				key.getIdentifier(),
  				session
  			);
  
  		final Object object;
  		if ( optionalObjectKey != null && key.equals( optionalObjectKey ) ) {
  			//its the given optional object
  			object = optionalObject;
  		}
  		else {
  			// instantiate a new instance
  			object = session.instantiate( instanceClass, key.getIdentifier() );
  		}
  
  		//need to hydrate it.
  
  		// grab its state from the ResultSet and keep it in the Session
  		// (but don't yet initialize the object itself)
  		// note that we acquire LockMode.READ even if it was not requested
  		LockMode acquiredLockMode = lockMode == LockMode.NONE ? LockMode.READ : lockMode;
  		loadFromResultSet(
  				resultset,
  				i,
  				object,
  				instanceClass,
  				key,
  				rowIdAlias,
  				acquiredLockMode,
  				persister,
  				session
  			);
  
  		//materialize associations (and initialize the object) later
  		hydratedObjects.add( object );
  
  		return object;
  	}
docs: The entity instance is not in the session cache
  
  Copied from Loader#instanceNotYetLoaded