code: @Override
      public DataStreamingEvent<E> next() throws DataSourceReadException {
          lockChain();
          updateCurrentIterator();
          lastUsedIterator = currentIterator;
          return currentIterator.next();
      }
docs: Returns the next Object of the current Iterator
  
  @return Object from the current Iterator
  @throws java.util.NoSuchElementException if all the Iterators are
  exhausted