@Override
  public TopicUpdateResponse postTopic(String queryUri, Topic topic) {
    try {
      Payload topicPayload = new StringPayload(gson.get().toJson(topic, Topic.class));
      HttpResponse response = httpClient.post(queryUri, topicPayload);
      if (response.statusCode() >= 400) {
        throw new BadResponseException(
            "Error POSTing topic "
                + topic.getTitle()
                + " "
                + topic.getNamespace()
                + " "
                + topic.getValue()
                + " code: "
                + response.statusCode()
                + ", message: "
                + response.statusLine());
      }
      WriteResponseWrapper responseWrapper =
          gson.get().fromJson(response.body(), WriteResponseWrapper.class);

      return new TopicUpdateResponse(
          responseWrapper.getAtlasResponse().getId(), response.header(LOCATION));
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
 public void unpublishContent(String queryString) {
   try {
     HttpResponse response = httpClient.delete(queryString);
     if (response.statusCode() >= 400) {
       throw new BadResponseException(
           String.format(
               "DELETE %s: %s %s", queryString, response.statusCode(), response.statusLine()));
     }
   } catch (HttpException e) {
     throw new RuntimeException(String.format("%s", queryString), e);
   }
 }
 public void putPerson(String queryString, Person person) {
   try {
     StringPayload data = new StringPayload(gson.get().toJson(person));
     HttpResponse response = httpClient.put(queryString, data);
     if (response.statusCode() >= 400) {
       throw new BadResponseException(
           String.format(
               "PUT %s %s: %s %s",
               person.getUri(),
               person.getPublisher(),
               response.statusCode(),
               response.statusLine()));
     }
   } catch (HttpException e) {
     throw new RuntimeException(
         String.format("%s %s %s", queryString, person.getUri(), person.getPublisher()), e);
   }
 }