private void fireConnectionDisconnectEvent(ConnectionDisconnectEvent evt) throws Exception {
    Object[] listeners = connectionDisconnectListenerList.getListenerList();
    for (int i=0; i<listeners.length; i+=2) {
      if (listeners[i]==ConnectionDisconnectListener.class) {
        ((ConnectionDisconnectListener)listeners[i+1]).OnConnectionDisconnectEvent(evt);
      }
    }
  }