code: @Override
    public T next() {
      Assert.isTrue(hasNext(), new NoSuchElementException("The iteration has no more elements!"));
      T value = iterators.peek().next();
      nextCalled.set(true);
      return value;
    }
docs: Gets the next element in the iteration.
  
  @return the next element in the iteration.
  @throws java.util.NoSuchElementException if the iteration has exhausted all elements.
  @see java.util.Iterator#next()
  @see #hasNext()