private function makeFollowAdapter($parts) {
    // re-use $this if we just got a path or the host/proto info matches
    if(empty($parts['host']) ||
        ($parts['host'] == $this->host &&
          $parts['port'] == $this->port &&
          $parts['scheme'] == $this->proto
        )
    ) {
      return $this;
    }

    if(empty($parts['port'])) {
      $parts['port'] = ($parts['scheme'] == 'https') ? 443 : 5984;
    }

    $adapter = new SagCURLHTTPAdapter($parts['host'], $parts['port']);
    $adapter->useSSL($parts['scheme'] == 'https');
    $adapter->setTimeoutsFromArray($this->getTimeouts());

    return $adapter;
  }