def read(options = {}, invalidate = true)
      if invalidate
        self.invalidate
      end
      options = @options.merge(options)
      response = self.class.get(@uri, options)
      if response.success?
        deserialize(response)
      else
        fail HttpError, response.response
      end
    end
def read(options = {}, invalidate = true)
      if invalidate
        self.invalidate
      end
      options = @options.merge(options)
      response = self.class.get(@uri, options)
      if response.success?
        deserialize(response)
      else
        fail HttpError, response.response
      end
    end
:category: CRUD

 Reads it.
 Gets the URI from the response and reads itself again.
 Raises HttpError if the request is unsuccessful.
 options:: A hash of options to send with the request.
 invalidate:: Invalidates it when true, skips invalidation when false.