docs: private Serializable doWorkInIsolationTransaction(final SharedSessionContractImplementor session)
  			throws HibernateException {
  		class Work extends AbstractReturningWork<IntegralDataTypeHolder> {
  			private final SharedSessionContractImplementor localSession = session;
  
  			@Override
  			public IntegralDataTypeHolder execute(Connection connection) throws SQLException {
  				try {
  					return doWorkInCurrentTransactionIfAny( localSession );
  				}
  				catch ( RuntimeException sqle ) {
  					throw new HibernateException( "Could not get or update next value", sqle );
  				}
  			}
  		}
  		//we want to work out of transaction
  		boolean workInTransaction = false;
  		Work work = new Work();
  		Serializable generatedValue = session.getTransactionCoordinator().createIsolationDelegate().delegateWork( work, workInTransaction );
  		return generatedValue;
  	}