code: public synchronized void create( HttpServletRequest request,
                                       HttpServletResponse response,
                                       ServletContext servletContext )
      {
          PerRequestState prevState = setPerRequestState( new PerRequestState( request, response, null ) );
  
          try
          {
              try
              {
                  // we start the context on the bean so user control can run against Controls in the onCreate() method
                  super.create( request, response, servletContext );
              }
              catch ( Throwable th )
              {
                  try
                  {
                      _log.info( "Handling exception in onCreate(), FlowController " + this, th );
                      reinitialize(request, response, servletContext);
                      ActionForward fwd = handleException( th, null, null, request, response );
                      if ( fwd == null ) fwd = NULL_ACTION_FORWARD;
                      request.setAttribute( ONCREATE_EXCEPTION_FORWARD, fwd );
                  }
                  catch ( Exception e )
                  {
                      _log.error( "Exception thrown while handling exception in onCreate(): " + e.getMessage(), th );
                  }
              }
          }
          finally
          {
              if(prevState != null)
                  setPerRequestState( prevState );
  
              PageFlowControlContainer pfcc = PageFlowControlContainerFactory.getControlContainer(request,getServletContext());
              pfcc.endContextOnPageFlow(this);
          }
  
          PageFlowEventReporter er = AdapterManager.getServletContainerAdapter( servletContext ).getEventReporter();
          RequestContext requestContext = new RequestContext( request, response );
          er.flowControllerCreated( requestContext, this );
      }
docs: Initialize after object creation.  This is a framework-invoked method; it should not normally be called directly.