code: public void queueEvent(FacesEvent event) {
  
          if (event == null) {
              throw new NullPointerException();
          }
          // We are a UIViewRoot, so no need to check for the ISE
          if (events == null) {
              int len = PhaseId.VALUES.size();
              List<List<FacesEvent>> events = new ArrayList<List<FacesEvent>>(len);
              for (int i = 0; i < len; i++) {
                  events.add(new ArrayList<FacesEvent>(5));
              }
              this.events = events;
          }
          events.get(event.getPhaseId().getOrdinal()).add(event);
      }
docs: <p>Override the default {@link UIComponentBase#queueEvent} behavior to
  accumulate the queued events for later broadcasting.</p>
  
  @param event {@link FacesEvent} to be queued
  
  @throws IllegalStateException if this component is not a
  descendant of a {@link UIViewRoot}
  @throws NullPointerException  if <code>event</code>
  is <code>null</code>