anchor.diff:  		if (!_available.isEmpty)
   			return new Future.value(_available.removeAt(0));
   
  -		if (_count < _max)
  +		if (_count < _max) {
   			return _incConnections().then((_) {
   				if (_available.isEmpty)
   					throw new Exception('No connections available.'); //FIXME exception type.
  
positive.code: 		if (!waitForConnectionRelease) {
  			// Immediately close all connections
  			for (var c in _connections)
  				c.close();
  
  			_available.clear();
  			_connections.clear();
  
negative.code: 
  				return c;
  			});
  		} else {
  			return _whenConnectionReleased().then((_) {
  				return connect(timeout);
  			});
  		}
  	}
  
  	// Close all connections and cleanup.
  