@Override
  public Response<Void> catalogDeregister(CatalogDeregistration catalogDeregistration) {
    String json = GsonFactory.getGson().toJson(catalogDeregistration);

    RawResponse rawResponse = rawClient.makePutRequest("/v1/catalog/deregister", json);
    if (rawResponse.getStatusCode() == 200) {
      return new Response<Void>(null, rawResponse);
    } else {
      throw new OperationException(rawResponse);
    }
  }
  @Override
  public Response<Boolean> setKVBinaryValue(
      String key, byte[] value, String token, PutParams putParams, UrlParameters UrlParameters) {
    UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null;
    RawResponse rawResponse =
        rawClient.makePutRequest("/v1/kv/" + key, value, putParams, tokenParam, UrlParameters);

    if (rawResponse.getStatusCode() == 200) {
      boolean result = GsonFactory.getGson().fromJson(rawResponse.getContent(), boolean.class);
      return new Response<Boolean>(result, rawResponse);
    } else {
      throw new OperationException(rawResponse);
    }
  }