public function content() {

    // XXX: This allows local overwrites. Is this a good idea?
    if (!empty($this->content)) {
      return $this->content;
    }

    // Get the object, content included.
    $response = $this->fetchObject(TRUE);

    $content = $response->content();

    // Checksum the content.
    // XXX: Right now the md5 is done even if checking is turned off.
    // Should fix that.
    $check = md5($content);
    if ($this->isVerifyingContent() && $check != $this->etag()) {
      throw new ContentVerificationException("Checksum $check does not match Etag " . $this->etag());
    }

    // If we are caching, set the content locally when we retrieve
    // remotely.
    if ($this->isCaching()) {
      $this->setContent($content);
    }

    return $content;
  }