code: void addIterator(final DataStreamingEventIterator<E> iterator) {
          checkLocked();
          if (iterator == null) {
              throw new NullPointerException("Iterator must not be null");
          }
          iteratorChain.add(iterator);
      }
docs: Add an Iterator to the end of the chain
  
  @param iterator Iterator to add
  @throws IllegalStateException if I've already started iterating
  @throws NullPointerException if the iterator is null