code: public static <T> Iterator<T> unique(Iterator<T> self, Comparator<T> comparator) {
          return toList((Iterable<T>) unique(toList(self), comparator)).listIterator();
      }
docs: Returns an iterator equivalent to this iterator with all duplicated
  items removed by using the supplied comparator.
  
  @param self an Iterator
  @param comparator a Comparator
  @return the modified Iterator
  @since 1.5.5