docs: private void _invokeViewRootAfterPhaseListener(FacesContext facesContext)
      {
          // get the UIViewRoot (note that it must not be null at this point)
          UIViewRoot root = facesContext.getViewRoot();
          MethodExpression afterPhaseExpression = root.getAfterPhaseListener();
          if (afterPhaseExpression != null)
          {
              PhaseEvent event = new PhaseEvent(facesContext, getPhase(), _getLifecycle(facesContext));
              try
              {
                  afterPhaseExpression.invoke(facesContext.getELContext(), new Object[] { event });
              }
              catch (Throwable t) 
              {
                  log.log(Level.SEVERE, "An Exception occured while processing " +
                          afterPhaseExpression.getExpressionString() + 
                          " in Phase " + getPhase(), t);
              }
          }
      }