protected void connectWithListener(ConnectResultListener listener) {

    if (State.CONNECTING != switchToConnecting()) {
      listener.onConnectFailure(new RuntimeException("unable to connect"));
    } else {
      _connectRetriesLeft = DatabusSourcesConnection.MAX_CONNECT_RETRY_NUM;
      connectRetry(listener);
    }
  }