code: def connection_from_pool_key(self, pool_key, request_context=None):
          
          with self.pools.lock:
              # If the scheme, host, or port doesn't match existing open
              # connections, open a new ConnectionPool.
              pool = self.pools.get(pool_key)
              if pool:
                  return pool
  
              # Make a fresh ConnectionPool of the desired type
              scheme = request_context['scheme']
              host = request_context['host']
              port = request_context['port']
              pool = self._new_pool(scheme, host, port, request_context=request_context)
              self.pools[pool_key] = pool
  
          return pool
docs: Get a :class:`ConnectionPool` based on the provided pool key.
  
          ``pool_key`` should be a namedtuple that only contains immutable
          objects. At a minimum it must have the ``scheme``, ``host``, and
          ``port`` fields.