docs: public static <T> Iterator<T> init(Iterator<T> self) {
          if (!self.hasNext()) {
              throw new NoSuchElementException("Cannot access init() for an empty Iterator");
          }
          return new InitIterator<T>(self);
      }