code: def refresh(self, nice_repr=True, **kwargs):
          
          for key, value in self._kwargs.items():
              kwargs.setdefault(key, value)
          # No real good reason to hold on to this. DONT TOUCH.
          self._original_iterable = self._fetcher.fetch(**kwargs)
          self.exhausted = False
          if nice_repr:
              self._accumulated = []
              self._original_iterable = self._make_nice_repr_iterator(
                  self._original_iterable, self._accumulated
              )
          else:
              self._accumulated = None
          self._clonable, = itertools.tee(self._original_iterable, 1)
          return self
docs: :param nice_repr: Append the repr of a list containing the items that
                            have been fetched to this point by the fetcher.
          :type nice_repr: bool
          :param kwargs: kwargs that should be passed to the fetcher when its
                         fetch method is called. These are merged with the values
                         provided to the constructor, with the ones provided here
                         taking precedence if there is a conflict.