anchor.diff:            _subscription.pause();
             // We assume the response is not here, until we have send the request.
             assert(_nextResponseCompleter != null);
  -          _nextResponseCompleter.complete(incoming);
  +          var completer = _nextResponseCompleter;
  +          _nextResponseCompleter = null;
  +          completer.complete(incoming);
           },
           onError: (error) {
             if (_nextResponseCompleter != null) {
               _nextResponseCompleter.completeError(error);
  +            _nextResponseCompleter = null;
             }
           },
           onDone: () {
  
positive.code:   }
  
    _HttpClientRequest send(Uri uri, int port, String method, bool isDirect) {
      var outgoing = new _HttpOutgoing();
      // Create new request object, wrapping the outgoing connection.
      var request = new _HttpClientRequest(outgoing,
  
negative.code:         _nextResponseCompleter = new Completer();
          // Listen for response.
          _nextResponseCompleter.future
              .then((incoming) {
                incoming.dataDone.then((_) {
                  if (incoming.headers.persistentConnection &&
                      request.persistentConnection) {
                    // Return connection, now we are done.
                    _httpClient._returnConnection(this);
                    _subscription.resume();
                  } else {
                    destroy();
                  }
  