code: public void valueUnbound( HttpSessionBindingEvent event )
      {
          if ( _log.isDebugEnabled() )
          {
              _log.debug( "The page flow stack is being unbound from the session." );
          }
          
          while ( ! isEmpty() )
          {
              PageFlowController jpf = pop( null ).getPageFlow();
              
              // Note that this page flow may have been serialized/deserialized, which will cause its transient info
              // to be lost.  Rehydrate it.
              HttpSession session = event.getSession();
              if ( session != null ) jpf.reinitialize( null, null, session.getServletContext() );
              
              if ( ! jpf.isLongLived() ) jpf.destroy( event.getSession() );
          }
      }
docs: Callback for {@link HttpSessionBindingListener} -- should not be invoked directly.