private void doOnDisconnected(CometClientTransportWrapper transport) { if (refreshState != null) { if (transport == primaryTransport) { if (refreshState != RefreshState.CONNECTING) { throw new IllegalStateException("Unexpected refreshState"); } refreshState = RefreshState.PRIMARY_DISCONNECTED; GWT.log("CometClient: primary disconnected before refresh transport was connected"); } else { // the refresh transport has disconnected failedRefresh(); } } else { listener.onDisconnected(); if (running) { doConnect(); } } }