code: def __new_reset(self, loader, first_iter=False, *args, **kwargs):
      # On the first iteration, these have already normally been set by the init anyway.
      # And we don't want to overwrite them if we've recovered
      if not first_iter:
          self._sampler_iter = iter(self._index_sampler)
          self._num_yielded = 0
          self._IterableDataset_len_called = (
              loader._IterableDataset_len_called
          )
  
imports: from torch.utils.data import DataLoader
  from torch.utils.data import IterableDataset
  from torch.utils.data.dataloader import _BaseDataLoaderIter
  import logging
  import warnings
  import functools
  from torch.utils.data import DistributedSampler
  from speechbrain.dataio.batch import PaddedBatch, BatchsizeGuesser
  from speechbrain.dataio.dataset import DynamicItemDataset
  from speechbrain.dataio.sampler import ReproducibleRandomSampler, DistributedSamplerWrapper
  from speechbrain.utils.checkpoints import register_checkpoint_hooks, mark_as_saver, mark_as_loader
label_desc: Use image node_id 4 for calling a global function with example usage: __new_reset(loader, first_iter) without return types