@Override
    public @NotNull HostAndPort next() {
      if (!hasNext()) {
        throw new NoSuchElementException();
      } else {
        final int index = (currentIndex + lastKnownGoodIndex) % locators.size();
        final HostAndPort nextLocator = locators.get(index);
        currentLocatorIndex.set(index);
        currentIndex++;
        return nextLocator;
      }
    }
An iterator which iterates over all the controllers, starting at the last known good
controller.
geode-core/src/main/java/org/apache/geode/cache/client/internal/LocatorList.java