code: @Override
      public void queueEvent(final FacesEvent event) {
          final FacesContext fc = FacesContext.getCurrentInstance();
  
          if (isSelfRequest(fc) && event instanceof AjaxBehaviorEvent) {
              final Map<String, String> params = fc.getExternalContext().getRequestParameterMap();
              final String eventName = params.get(Constants.RequestParams.PARTIAL_BEHAVIOR_EVENT_PARAM);
              final String clientId = this.getClientId(fc);
              final AjaxBehaviorEvent behaviorEvent = (AjaxBehaviorEvent) event;
              final String action = params.get(clientId + "_action");
              final String trigger = params.get(clientId + "_trigger");
  
              if (ClipboardSuccessEvent.NAME.equals(eventName)) {
                  final String text = params.get(clientId + "_text");
                  final ClipboardSuccessEvent successEvent = new ClipboardSuccessEvent(this, behaviorEvent.getBehavior(),
                              action, text, trigger);
                  successEvent.setPhaseId(event.getPhaseId());
                  super.queueEvent(successEvent);
  
                  return;
              }
              else if (ClipboardErrorEvent.NAME.equals(eventName)) {
                  final ClipboardErrorEvent errorEvent = new ClipboardErrorEvent(this, behaviorEvent.getBehavior(), action,
                              trigger);
                  errorEvent.setPhaseId(event.getPhaseId());
                  super.queueEvent(errorEvent);
  
                  return;
              }
          }
  
          super.queueEvent(event);
      }
docs: {@inheritDoc}