anchor.diff:          pathSegments: uri.pathSegments,
           queryParameters: uri.queryParameters,
           fragment: uri.fragment);
  -    var cookieHasValidated = _ensureHasValidated();
  -    Future.wait([cookieHasValidated, client.openUrl(method, couchUri)]).then((futures) {
  -      final HttpClientRequest request = futures[1];
  +    _ensureHasValidated()
  +    .then((_) => client.openUrl(method, couchUri))
  +    .then((HttpClientRequest request) {
         for (var header in headers.keys) {
           request.headers.add(header, headers[header]);
         }
  
positive.code: 
    Future _ensureHasValidated() {
      if (hasValidated) return new Future.value();
      _validateSession().then((_) {
        final interval = new Duration(minutes: 9);
        new Timer.periodic(interval, (_) => _validateSession());
      });
  
negative.code:             _authCookie.add(setCookiePart.split(';')[0]);
            }
            hasValidated = true;
            return null;
          }
        } else {
          var contentLength = new Ref<int>.withValue(int.parse(response.headers[HttpHeaders.CONTENT_LENGTH][0]));
  