code: def copy_iterator(self):
          
          self.__udiff, iterator_copy = itertools.tee(self.__udiff)
          return iterator_copy
docs: make a fresh copy of generator, we should not iterate thru
          an original as it's needed for repeating operations on
          this instance of DiffProcessor