def METHOD_NAME(
    self,
    client_settings: ClickhouseClientSettings,
    node: ClickhouseNode,
) -> ClickhousePool:
    settings, timeout = client_settings.value
    cache_key = (node, client_settings)
    if cache_key not in self.__connections:
        self.__connections[cache_key] = (
            FakeClickhousePool(node.host_name)
            if self.__nodes[node.host_name][1]
            else FakeFailingClickhousePool(node.host_name)
        )
    return self.__connections[cache_key]