@Override public ConsulClient putValueWithOptions(String key, String value, KeyValueOptions options, Handler<AsyncResult<Boolean>> resultHandler) { Query query = new Query(); if (options != null) { query.put("flags", Long.toUnsignedString(options.getFlags())) .put("acquire", options.getAcquireSession()) .put("release", options.getReleaseSession()); long cas = options.getCasIndex(); if (cas >= 0) { query.put("cas", cas); } } requestString(HttpMethod.PUT, "/v1/kv/" + urlEncode(key), query, value, resultHandler, (bool, headers) -> Boolean.valueOf(bool)); return this; }