docs: public void onManagerEvent(ManagerEvent event)
      {
          // Handle Channel related events
          if (event instanceof ConnectEvent)
          {
              handleConnectEvent((ConnectEvent) event);
          }
          else if (event instanceof DisconnectEvent)
          {
              handleDisconnectEvent((DisconnectEvent) event);
          }
          else if (event instanceof NewChannelEvent)
          {
              channelManager.handleNewChannelEvent((NewChannelEvent) event);
          }
          else if (event instanceof NewExtenEvent)
          {
              channelManager.handleNewExtenEvent((NewExtenEvent) event);
          }
          else if (event instanceof NewStateEvent)
          {
              channelManager.handleNewStateEvent((NewStateEvent) event);
          }
          else if (event instanceof NewCallerIdEvent)
          {
              channelManager.handleNewCallerIdEvent((NewCallerIdEvent) event);
          }
          else if (event instanceof DialEvent)
          {
              channelManager.handleDialEvent((DialEvent) event);
          }
          else if (event instanceof BridgeEvent)
          {
              channelManager.handleBridgeEvent((BridgeEvent) event);
          }
          else if (event instanceof RenameEvent)
          {
              channelManager.handleRenameEvent((RenameEvent) event);
          }
          else if (event instanceof HangupEvent)
          {
              channelManager.handleHangupEvent((HangupEvent) event);
          }
          else if (event instanceof CdrEvent)
          {
              channelManager.handleCdrEvent((CdrEvent) event);
          }
          else if (event instanceof VarSetEvent)
          {
              channelManager.handleVarSetEvent((VarSetEvent) event);
          }
          else if (event instanceof DtmfEvent)
          {
              channelManager.handleDtmfEvent((DtmfEvent) event);
          }
          else if (event instanceof MonitorStartEvent)
          {
              channelManager.handleMonitorStartEvent((MonitorStartEvent) event);
          }
          else if (event instanceof MonitorStopEvent)
          {
              channelManager.handleMonitorStopEvent((MonitorStopEvent) event);
          }
          // End of channel related events
          // Handle parking related event
          else if (event instanceof ParkedCallEvent)
          {
              channelManager.handleParkedCallEvent((ParkedCallEvent) event);
          }
          else if (event instanceof ParkedCallGiveUpEvent)
          {
              channelManager.handleParkedCallGiveUpEvent((ParkedCallGiveUpEvent) event);
          }
          else if (event instanceof ParkedCallTimeOutEvent)
          {
              channelManager.handleParkedCallTimeOutEvent((ParkedCallTimeOutEvent) event);
          }
          else if (event instanceof UnparkedCallEvent)
          {
              channelManager.handleUnparkedCallEvent((UnparkedCallEvent) event);
          }
          // End of parking related events
          // Handle queue related event
          else if (event instanceof JoinEvent)
          {
              queueManager.handleJoinEvent((JoinEvent) event);
          }
          else if (event instanceof LeaveEvent)
          {
              queueManager.handleLeaveEvent((LeaveEvent) event);
          }
          else if (event instanceof QueueMemberStatusEvent)
          {
              queueManager.handleQueueMemberStatusEvent((QueueMemberStatusEvent) event);
          }
          else if (event instanceof QueueMemberPenaltyEvent)
          {
              queueManager.handleQueueMemberPenaltyEvent((QueueMemberPenaltyEvent) event);
          }
          else if (event instanceof QueueMemberAddedEvent)
          {
              queueManager.handleQueueMemberAddedEvent((QueueMemberAddedEvent) event);
          }
          else if (event instanceof QueueMemberRemovedEvent)
          {
              queueManager.handleQueueMemberRemovedEvent((QueueMemberRemovedEvent) event);
          }
          else if (event instanceof QueueMemberPausedEvent)
          {
              queueManager.handleQueueMemberPausedEvent((QueueMemberPausedEvent) event);
          }
          // >>>>>> AJ 94
          // Handle meetMeEvents
          else if (event instanceof AbstractMeetMeEvent)
          {
              meetMeManager.handleMeetMeEvent((AbstractMeetMeEvent) event);
          }
          else if (event instanceof OriginateResponseEvent)
          {
              handleOriginateEvent((OriginateResponseEvent) event);
          }
          // Handle agents-related events
          else if (event instanceof AgentsEvent)
          {
              agentManager.handleAgentsEvent((AgentsEvent) event);
          }
          else if (event instanceof AgentCalledEvent)
          {
              agentManager.handleAgentCalledEvent((AgentCalledEvent) event);
          }
          else if (event instanceof AgentConnectEvent)
          {
              agentManager.handleAgentConnectEvent((AgentConnectEvent) event);
          }
          else if (event instanceof AgentCompleteEvent)
          {
              agentManager.handleAgentCompleteEvent((AgentCompleteEvent) event);
          }
          else if (event instanceof AgentCallbackLoginEvent)
          {
              agentManager.handleAgentCallbackLoginEvent((AgentCallbackLoginEvent) event);
          }
          else if (event instanceof AgentCallbackLogoffEvent)
          {
              agentManager.handleAgentCallbackLogoffEvent((AgentCallbackLogoffEvent) event);
          }
          else if (event instanceof AgentLoginEvent)
          {
              agentManager.handleAgentLoginEvent((AgentLoginEvent) event);
          }
          else if (event instanceof AgentLogoffEvent)
          {
              agentManager.handleAgentLogoffEvent((AgentLogoffEvent) event);
          }
          // End of agent-related events
  
          // dispatch the events to the chainListener if they exist.
          fireChainListeners(event);
      }