I believe we still need to use a set until this point, and then do:

```python
replica_map[ring[i]] = list(sorted(hosts))
```

The reason is that with vnodes, you sometimes have to skip tokens that are owned by a replica you've already seen for that range.