code: private void fireConnectionEstablished() {
          final boolean hadLock = lock.isHeldByCurrentThread();
          if (hadLock) {
              lock.unlock();
          }
          try {
              BOSHClientConnEvent event = null;
              for (BOSHClientConnListener listener : connListeners) {
                  if (event == null) {
                      event = BOSHClientConnEvent
                              .createConnectionEstablishedEvent(this);
                  }
                  try {
                      listener.connectionEvent(event);
                  } catch (Exception ex) {
                      LOG.log(Level.WARNING, UNHANDLED, ex);
                  }
              }
          } finally {
              if (hadLock) {
                  lock.lock();
              }
          }
      }
docs: Notifies all connection listeners that the session has been successfully
  established.