docs: def _deserialize(self):
          """Try and deserialize a response body based upon the specified
          content type.
  
          :rtype: mixed
  
          """
          if not self._responses or not self._responses[-1].body:
              return None
          if 'Content-Type' not in self._responses[-1].headers:
              return self._responses[-1].body
          try:
              content_type = algorithms.select_content_type(
                  [headers.parse_content_type(
                      self._responses[-1].headers['Content-Type'])],
                  AVAILABLE_CONTENT_TYPES)
          except errors.NoMatch:
              return self._responses[-1].body
  
          if content_type[0] == CONTENT_TYPE_JSON:
              return self._decode(
                  self._json.loads(self._decode(self._responses[-1].body)))
          elif content_type[0] == CONTENT_TYPE_MSGPACK:  # pragma: nocover
              return self._decode(
                  self._msgpack.unpackb(self._responses[-1].body))