code: public static <E> Iterator<E> cycle(Iterator<E> iterator) {
          return new CyclicIterator<E>(iterator);
      }
docs: Creates an infinite iterator that issues elements from the parameter cyclicly.
  
  @param <E> the element type
  @param iterator the iterator to cycle
  @return an iterator that cyclicly returns the elements from the argument