// Constructor public Client(WebSocketTransport ws) { this.ws = ws; ws.setHandler(this); prepareExecutor(); // requires executor, so call after prepareExecutor scheduleMaintenance(); subscriptions.on( SubscriptionManager.OnSubscribed.class, new SubscriptionManager.OnSubscribed() { @Override public void called(JSONObject subscription) { if (!connected) return; subscribe(subscription); } }); }