code: def new(self, dataset=None, cls=None, **kwargs):
      if dataset is None:
          dataset = self.dataset
      if cls is None:
          cls = type(self)
      cur_kwargs = dict(
          dataset=dataset,
          num_workers=self.fake_l.num_workers,
          pin_memory=self.pin_memory,
          timeout=self.timeout,
          bs=self.bs,
          shuffle=self.shuffle,
          drop_last=self.drop_last,
          indexed=self.indexed,
          device=self.device,
      )
      for n in self._methods:
          o = getattr(self, n)
          if not isinstance(o, MethodType):
              cur_kwargs[n] = o
      return cls(**merge(cur_kwargs, kwargs))
  
imports: from __future__ import annotations
  from ..torch_basics import *
  from torch.utils.data.dataloader import _MultiProcessingDataLoaderIter, _SingleProcessDataLoaderIter, _DatasetKind
label_desc: Use image node_id 7 for calling the DataLoader obj's underlying member method code with example usage: obj.new(dataset, cls) and returns: cls