class_docstr: More efficient ops for indices.
  
  Avoid wasteful allocations, accept generators. Convert to list only
  when needed.
  
  Do not use for anything outside this file.
code: def __getitem__(self, item):
      if self._eager_list is None:
          self._to_eager()
      return self._eager_list[item]
  
imports: import bisect
  import sys
  import numpy
  from avalanche.benchmarks.utils.dataset_utils import slice_alike_object_to_indices
  from typing import Iterable, List, Optional, Sequence, Tuple, TypeVar, Union, overload
  from torch.utils.data import ConcatDataset
  import itertools
  from avalanche.benchmarks.utils.dataset_definitions import IDataset
label_desc: Use image node_id 4 for calling the LazyIndices obj's underlying member method code with example usage: obj.__getitem__(item) and returns: self