Get an item matching the given host object.

        The item may be either a parent domain or identical value.
        Parent domains and existing identical values always precede
        insertion point for given value - therefore, we treat
        an item just before insertion point as potential match.

        :param host_object: an object representing ip address
        or hostname whose match we are trying to find

def _get_match(self, host_object):
        """Get an item matching the given host object.

        The item may be either a parent domain or identical value.
        Parent domains and existing identical values always precede
        insertion point for given value - therefore, we treat
        an item just before insertion point as potential match.

        :param host_object: an object representing ip address
        or hostname whose match we are trying to find
        """
        i = self._get_insertion_point(host_object)
        potential_match = None
        try:
            potential_match = self[i-1]
        except IndexError:
            pass

        if host_object.is_match(potential_match):
            return potential_match
        return None