code: private void _dispatchApplicationEvent(ServletContext servletContext, Class<? extends SystemEvent> eventClass)
      {
          FacesContext facesContext = FacesContext.getCurrentInstance();
          Application application = facesContext.getApplication();
          application.publishEvent(facesContext, eventClass, Application.class, application);
      }
docs: Eventually we can use our plugin infrastructure for this as well
  it would be a cleaner interception point than the base class
  but for now this position is valid as well
  <p/>
  Note we add it for now here because the application factory object
  leaves no possibility to have a destroy interceptor
  and applications are per web application singletons
  Note if this does not work out
  move the event handler into the application factory
  
  @param servletContext the servlet context to be passed down
  @param eventClass     the class to be passed down into the dispatching
  code