/**
  * Ensures that the response has a "success" status code {@code 2xx}.
  *
  * @throws HttpResponseException if the response does not have a {@code 2xx} status code
  * @throws IOException if the response entity parsing has failed
  */
 public void ensure2xxStatus() throws HttpResponseException, IOException {
   if (response.getStatus() / 100 != 2) {
     final String message;
     if (MediaType.TEXT_PLAIN_TYPE.equals(response.getMediaType())) {
       message = response.readEntity(String.class);
     } else if (MediaType.TEXT_XML_TYPE.equals(response.getMediaType())
         || MediaType.APPLICATION_XML_TYPE.equals(response.getMediaType())
         || MediaType.APPLICATION_JSON_TYPE.equals(response.getMediaType())) {
       message = response.readEntity(AcknowlegementType.class).getMessage();
     } else {
       message = response.toString();
     }
     throw new HttpResponseException(response.getStatus(), message);
   }
 }