anchor.diff:    // Remove a closed connnection from the active set.
     void _connectionClosed(_HttpClientConnection connection) {
       connection.stopTimer();
  -    _activeConnections.remove(connection);
  -    if (_idleConnections.containsKey(connection.key)) {
  -      _idleConnections[connection.key].remove(connection);
  -      if (_idleConnections[connection.key].isEmpty) {
  -        _idleConnections.remove(connection.key);
  +    var key = connection.key;
  +    if (_activeConnections.containsKey(key)) {
  +      _activeConnections[key].remove(connection);
  +      if (_activeConnections[key].isEmpty) {
  +        _activeConnections.remove(key);
  +      }
  +    }
  +    if (_idleConnections.containsKey(key)) {
  +      _idleConnections[key].remove(connection);
  +      if (_idleConnections[key].isEmpty) {
  +        _idleConnections.remove(key);
         }
       }
       _updateTimers();
  
positive.code: 
  
  class _HttpClient implements HttpClient {
    // TODO(ajohnsen): Use eviction timeout.
    bool _closing = false;
  
    final Map<String, Set<_HttpClientConnection>> _idleConnections
        = new HashMap<String, Set<_HttpClientConnection>>();
    final Set<_HttpClientConnection> _activeConnections
        = new HashSet<_HttpClientConnection>();
    final List<_Credentials> _credentials = [];
    final List<_ProxyCredentials> _proxyCredentials = [];
    Function _authenticate;
  
negative.code:     });
      assert(_idleConnections.isEmpty);
      if (force) {
        for (var connection in
             _activeConnections.values.expand((s) => s).toList()) {
          connection.destroy();
        }
        assert(_activeConnections.isEmpty);
  