docs: public V next() {
  
          Collection<? extends V> collection = this.collection;
          V offset = this.offset;
  
          if (offset != null) {
              boolean accept = false;
              for (V element : collection) {
                  if (element == offset) {
                      accept = true;
                      continue;
                  }
  
                  if (accept) {
                      return this.offset = element;
                  }
              }
          }
  
          return this.offset = collection.iterator().next();
      }