code: @Nullable @Override
      public synchronized Host getHost() {
          int pos = getNextHostPos();
          if (pos==-1) {
              return returnNone();
          }
          Host ret = getHostAtPos(pos);
          lastReturnedHost = pos;
          return ret;
      }
docs: This impl returns the next host in the list on each call by iterating the list of hosts.
  If the list only contains one, then all calls return that.