code: public Iterator<T> iterator() {
  
          if (input == null)
              return null;
  
          if (outputIterator == null)
              outputIterator = new SinkIterator<T>(input.iterator());
  
          return outputIterator;
      }
docs: Provides immdediate access to the input elements collected by this sink. Each next() call will pull an new element from the input as long as there are elements.
  
  @return A read-only iterator over the input elements received by this sink.