Iterator implementation that will return all entries from the first iterator. Upon completion of the first iterator
the supplier will generate an additional iterator that will then be used as a source for this iterator. After the
second iterator is consumed this iterator will also be completed.