docs: @Override
      public void stop() throws LifecycleException {
  
          if (log.isDebugEnabled()) {
              log.debug("Stopping");
          }
  
          // Validate and update our current component state
          if (!_started) {
              throw new LifecycleException
                  (sm.getString("standardManager.notStarted"));
          }
          _lifecycle.fireLifecycleEvent(STOP_EVENT, null);
          _started = false;
  
          // Require a new random number generator if we are restarted
          random = null;
  
          if ( initialized ) {
  
              if ( _msm.isSticky() ) {
                  _log.info( "Removing sessions from local session map." );
                  for( final Session session : sessions.values() ) {
                      swapOut( (StandardSession) session );
                  }
              }
  
              _msm.shutdown();
  
              destroy();
          }
      }