anchor.diff:        new Timer(0, (ignored) => _connectionOpened(socketConn, connection));
   
         // Get rid of eviction timer if there are no more active connections.
  -      if (socketConnections.isEmpty()) {
  -        _evictionTimer.cancel();
  -        _evictionTimer = null;
  -      }
  +      if (socketConnections.isEmpty()) _openSockets.remove(key);
  +      if (_openSockets.isEmpty()) _cancelEvictionTimer();
       }
   
       return connection;
  
positive.code: 
      // If there are active connections for this key get the first one
      // otherwise create a new one.
      Queue socketConnections = _openSockets[_connectionKey(host, port)];
      if (socketConnections == null || socketConnections.isEmpty()) {
        Socket socket = new Socket(host, port);
        // Until the connection is established handle connection errors
  
negative.code:      _activeSockets.forEach((_SocketConnection socketConn) {
         socketConn._socket.close();
       });
      if (_evictionTimer != null) _cancelEvictionTimer();
       _shutdown = true;
    }
  
    void _cancelEvictionTimer() {
      _evictionTimer.cancel();
      _evictionTimer = null;
    }
  
    String _connectionKey(String host, int port) {
  