docs: public void notifyServletContextCreated() throws Throwable {
  
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE))
              logger.logp(Level.FINE, CLASS_NAME, "notifyServletContextCreated", "ENTRY"); //PI26908
  
          TxCollaboratorConfig txConfig = null;
          try {
              webAppNameSpaceCollab.preInvoke(getModuleMetaData().getCollaboratorComponentMetaData());
  
              txConfig = txCollab.preInvoke(null, this.isServlet23);
              if (txConfig != null)
                  txConfig.setDispatchContext(null);
  
              if (!servletContextListeners.isEmpty()) {
  				if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE))
                      logger.logp(Level.FINE, CLASS_NAME, "notifyServletContextCreated", "stopAppStartupOnListenerException = " + WCCustomProperties.STOP_APP_STARTUP_ON_LISTENER_EXCEPTION);
  
                  Iterator i = servletContextListeners.iterator();
                  ServletContextEvent sEvent = new ServletContextEvent(this.getFacade());
  
                  // canAddServletContextListener used in sL.contextInitialized
                  canAddServletContextListener = false;
                  while (i.hasNext()) {
                      // get the listener
                      ServletContextListener sL = (ServletContextListener) i.next();
  
                      // invoke the listener's context initd method
                      // PK27660 - wrap contextInitialized in try/catch
                      try {
                          Set<String> webXmlDefListeners = this.config.getWebXmlDefinedListeners();
                          if (webXmlDefListeners != null && !webXmlDefListeners.contains(sL.getClass().getName())) {
                              withinContextInitOfProgAddListener = true;
                              lastProgAddListenerInitialized = sL.getClass().getName(); // PI41941
                          }
                          sL.contextInitialized(sEvent);
                      } catch (Throwable th) {
                          com.ibm.wsspi.webcontainer.util.FFDCWrapper.processException(th, CLASS_NAME + ".notifyServletContextCreated", "1341", this);
                          // pk435011
                          logger.logp(Level.SEVERE, CLASS_NAME, "notifyServletContextCreated", "exception.while.initializing.context", new Object[] { th } );
                          if (withinContextInitOfProgAddListener) {
                              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE))
                                  logger.logp(Level.FINE, CLASS_NAME, "notifyServletContextCreated", "rethrowing exception since the scl was programmatically added");
                              throw th;
                          } else if (WCCustomProperties.STOP_APP_STARTUP_ON_LISTENER_EXCEPTION) {
                              if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE))
                                  logger.logp(Level.FINE, CLASS_NAME, "notifyServletContextCreated", "rethrowing exception due to stopAppStartupOnListenerException");
                              
                              throw th;
                          }
  
                      } finally {
                          withinContextInitOfProgAddListener = false;
                      }    
                  }
              }
              setAttribute("com.ibm.ws.jsp.servletContextListeners.contextInitialized", "true"); // PM05903
          } catch (Throwable e) {
              if (withinContextInitOfProgAddListener || WCCustomProperties.STOP_APP_STARTUP_ON_LISTENER_EXCEPTION)
                  throw e;
              com.ibm.wsspi.webcontainer.util.FFDCWrapper.processException(e, CLASS_NAME + ".notifyServletContextCreated", "1353", this);
              // e.printStackTrace(System.err); @283348D
              // pk435011
              logger.logp(Level.SEVERE, CLASS_NAME, "notifyServletContextCreated", "exception.caught.in.notifyServletContextCreated", new Object[] { e } ); // PK27660
          } finally {
              canAddServletContextListener = true;
              try {
                  txCollab.postInvoke(null, txConfig, this.isServlet23);
              } catch (Exception e) {
                  com.ibm.wsspi.webcontainer.util.FFDCWrapper.processException(e, CLASS_NAME + ".notifyServletContextCreated", "1327", this);
  
              }
              webAppNameSpaceCollab.postInvoke();
          }
      }