anchor.diff:            _idleConnections.remove(key);
           }
           connection.stopTimer();
  -        _activeConnections.add(connection);
  +        _activeConnections
  +            .putIfAbsent(key, () => new HashSet())
  +            .add(connection);
           _updateTimers();
           return new Future.value(new _ConnnectionInfo(connection, proxy));
         }
  
positive.code:   // 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);
        }
      }
      _updateTimers();
  
negative.code:             return connection.createProxyTunnel(
                  uriHost, uriPort, proxy, callback)
                  .then((tunnel) {
                    _activeConnections
                        .putIfAbsent(tunnel.key, () => new HashSet())
                        .add(tunnel);
                    return new _ConnnectionInfo(tunnel, proxy);
                  });
            } else {
              _activeConnections
                  .putIfAbsent(key, () => new HashSet())
                  .add(connection);
              return new _ConnnectionInfo(connection, proxy);
            }
          }, onError: (error) {
  