anchor.diff:      }
     }
   
  -  void _checkIdleTimeout(PooledConnectionImpl pconn) {
  +  void _checkIdleTimeout(PooledConnectionImpl pconn, int i) {
       if (pconn._state == available
       && _isExpired(pconn._released ?? pconn._established, settings.idleTimeout)) {
  -      _destroyConnection(pconn);
  -    }
  -  }
  -  
  -  void _checkIfLeaked(PooledConnectionImpl pconn) {
  +      _destroyConnection(pconn, i);
  +    }
  +  }
  +  
  +  void _checkIfLeaked(PooledConnectionImpl pconn, int i) {
       if (!pconn._isLeaked
           && pconn._state != available
           && pconn._obtained != null
  
positive.code:     _state = stopped;
    }
  
    void _forEachConnection(f(PooledConnectionImpl pconn)) {
      for (int i = _connections.length; --i >= 0;) //reverse since it might be removed
        f(_connections[i]);
    }
  }
  
negative.code:       for (int i = _connections.length;
            _connections.length > settings.minConnections
            && --i >= 0;) //reverse since it might be removed
          _checkIdleTimeout(_connections[i], i);
  
        // This shouldn't be necessary, but should help fault tolerance. 
        _processWaitQueue();
  