code: @Override
  	public Promise subscribe(String channel) {
  		Promise promise = new Promise();
  		if (client != null) {
  			try {
  				client.subscribe(new Subscription[] { new Subscription(channel, qos) });
  				subscriptions.put(channel, promise);
  			} catch (Exception cause) {
  				promise.complete(cause);
  			}
  		} else {
  			promise.complete(new Throwable("Not connected!"));
  		}
  		return promise;
  	}
docs: --- SUBSCRIBE ---