class_docstr: Dataset to create indexes from `Sampler` or `Iterable`
code: def __getitem__(self, index: int) -> Any:
      if self._sampler_list is None:
          self._sampler_list = list(self._sampler)
      return self._sampler_list[index]
  
imports: import contextlib
  import logging
  import os
  import time
  from contextlib import nullcontext
  from pathlib import Path
  from typing import TYPE_CHECKING, Any, Iterable, Iterator, List, Optional, Sized, Union
  import torch
  import torch.nn.functional
  from lightning_utilities.core.imports import package_available
  from torch import Tensor
  from torch.utils.data import Dataset, DistributedSampler, Sampler
  from typing_extensions import override
  from lightning.fabric.utilities.cloud_io import _is_local_file_protocol
  from lightning.fabric.utilities.data import _num_cpus_available
  from lightning.fabric.utilities.rank_zero import rank_zero_info
  from lightning.fabric.utilities.types import _PATH, ReduceOp
label_desc: Use image node_id 2 for calling the _DatasetSamplerWrapper obj's underlying member method code with example usage: obj.__getitem__(index) and returns: self