anchor.diff:      if (_evictionTimer == null) {
         void _handleEviction(Timer timer) {
           Date now = new Date.now();
  +        List<String> emptyKeys = new List<String>();
           _openSockets.forEach(
               void _(String key, Queue<_SocketConnection> connections) {
                 // As returned connections are added at the head of the
  
positive.code:      _activeSockets.forEach((_SocketConnection socketConn) {
         socketConn._socket.close();
       });
       if (_evictionTimer != null) {
         _evictionTimer.cancel();
       }
       _shutdown = true;
    }
  
    String _connectionKey(String host, int port) {
  
negative.code:                     DEFAULT_EVICTION_TIMEOUT) {
                    connections.removeLast();
                    socketConn._socket.close();
                    if (connections.isEmpty()) emptyKeys.add(key);
                  } else {
                    break;
                  }
                }
              });
  
          // Remove the keys for which here are no more open connections.
          emptyKeys.forEach((String key) => _openSockets.remove(key));
  
          // If all connections where evicted cancel the eviction timer.
          if (_openSockets.isEmpty()) _cancelEvictionTimer();
        }
        _evictionTimer = new Timer.repeating(10000, _handleEviction);
      }
  