code: @Override
    public boolean hasNext() {
      while (!(iteratorList.isEmpty() || iteratorList.get(currentIteratorIndex).hasNext())) {
        Assert.isFalse(iteratorList.remove(currentIteratorIndex).hasNext(), "removing a non-empty Iterator");
        currentIteratorIndex = (iteratorList.isEmpty() ? 0 : (currentIteratorIndex % iteratorList.size()));
      }
  
      return !iteratorList.isEmpty();
    }
docs: Determines whether another element is available in the iteration.
  
  @return a boolean value indicating whether another element is available in the iteration.
  @see java.util.Iterator#hasNext()