'Checks if ``predicate(host)``, then returns
:attr:`~HostDistance.IGNORED` if falsey, and defers to the child policy
otherwise.'

def distance(self, host):

    if self.predicate(host):
        return self._child_policy.distance(host)
    else:
        return HostDistance.IGNORED
