code: def make_query_plan(self, working_keyspace=None, query=None):
          
          child_qp = self._child_policy.make_query_plan(
              working_keyspace=working_keyspace, query=query
          )
          for host in child_qp:
              if self.predicate(host):
                  yield host
docs: Defers to the child policy's
          :meth:`.LoadBalancingPolicy.make_query_plan` and filters the results.
  
          Note that this filtering may break desirable properties of the wrapped
          policy in some cases. For instance, imagine if you configure this
          policy to filter out ``host2``, and to wrap a round-robin policy that
          rotates through three hosts in the order ``host1, host2, host3``,
          ``host2, host3, host1``, ``host3, host1, host2``, repeating. This
          policy will yield ``host1, host3``, ``host3, host1``, ``host3, host1``,
          disproportionately favoring ``host3``.