'Create a new :class:`ConnectionPool` based on host, port, scheme, and
any additional pool keyword arguments.
If ``request_context`` is provided, it is provided as keyword arguments
to the pool class used. This method is used to actually create the
connection pools handed out by :meth:`connection_from_url` and
companion methods. It is intended to be overridden for customization.'

def _new_pool(self, scheme, host, port, request_context=None):

    pool_cls = self.pool_classes_by_scheme[scheme]
    if (request_context is None):
        request_context = self.connection_pool_kw.copy()
    for key in ('scheme', 'host', 'port'):
        request_context.pop(key, None)
    if (scheme == 'http'):
        for kw in SSL_KEYWORDS:
            request_context.pop(kw, None)
    return pool_cls(host, port, **request_context)
