docs: @Override
      public void save(T object, AccessControlContext accessControlContext)
              throws OptimisticLockException, AccessControlException, JeppettoException {
          ensureAccessControlEnabled();
  
          try {
              AccessControlContextOverride.set(accessControlContext);
  
              getCurrentSession().saveOrUpdate(object);
  
              // flush() here because we want the AccessControlInterceptor to perform its onSave()/onFlushDirty()
              // checks while the override is in place.
              flush();
          } catch (org.hibernate.OptimisticLockException e) {
              throw new OptimisticLockException(e);
          } catch (HibernateException e) {
              throw new JeppettoException(e);
          } finally {
              AccessControlContextOverride.clear();
          }
      }