def iterate_nodes(self, string_key, distinct=True):
        if not self.ring:
            yield None, None

        returned_values = set()
        def distinct_filter(value):
            if str(value) not in returned_values:
                returned_values.add(str(value))
                return value

        pos = self.get_node_pos(string_key)
        for key in self._sorted_keys[pos:]:
            val = distinct_filter(self.ring[key])
            if val:
                yield val

        for i, key in enumerate(self._sorted_keys):
            if i < pos:
                val = distinct_filter(self.ring[key])
                if val:
                    yield val
Parameters:
dataset/ETHPy150Open chineking/cola/cola/core/mq/hash_ring.py/HashRing.iterate_nodes--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/libs/libsentry/gen-py/sentry_policy_service/SentryPolicyService.py/Iface.list_sentry_privileges_by_role