docs: public synchronized void destroy() throws Throwable {
  
          try {
              if (m_driverManager != null) {
                  if (m_driverManager.getLockManager() != null) {
                      try {
                          writeLocks();
                      } catch (Throwable t) {
                          if (LOG.isErrorEnabled()) {
                              LOG.error(
                                  org.opencms.lock.Messages.get().getBundle().key(
                                      org.opencms.lock.Messages.ERR_WRITE_LOCKS_FINAL_0),
                                  t);
                          }
                      }
                  }
                  m_driverManager.destroy();
              }
          } catch (Throwable t) {
              if (LOG.isErrorEnabled()) {
                  LOG.error(Messages.get().getBundle().key(Messages.LOG_ERR_DRIVER_MANAGER_CLOSE_0), t);
              }
          }
  
          m_driverManager = null;
          m_dbContextFactory = null;
  
          if (CmsLog.INIT.isInfoEnabled()) {
              CmsLog.INIT.info(
                  Messages.get().getBundle().key(Messages.INIT_SECURITY_MANAGER_SHUTDOWN_1, this.getClass().getName()));
          }
      }