'Reset the condition of this stream so that it appears we have
not consumed any of its elements.  Elements themselves are untouched.
Once we reset the stream, any future use will need duplicates.  Set
the dirty bit.'

def reset(self):

    self.cursor = 0
    self.dirty = True
