code: def __next__(self) -> _ITERATOR_RETURN:
      n = len(self.iterators)
      out = [None] * n  # values per iterator
      for i in range(n):
          try:
              out[i] = next(self.iterators[i])
          except StopIteration:
              self._consumed[i] = True
              if all(self._consumed):
                  raise
              # reset the consumed dataloader
              self.iterators[i] = iter(self.iterables[i])
              out[i] = next(self.iterators[i])
      index = self._idx
      self._idx += 1
      return out, index, 0
  
imports: import contextlib
  from collections.abc import Iterable
  from typing import Any, Callable, Dict, Iterator, List, Literal, Optional, Tuple, Type, Union
  from torch.utils.data.dataloader import _BaseDataLoaderIter, _MultiProcessingDataLoaderIter
  from typing_extensions import Self, TypedDict
  from lightning.fabric.utilities.data import sized_len
  from lightning.pytorch.utilities._pytree import _map_and_unflatten, _tree_flatten, tree_unflatten
label_desc: Use image node_id 2 for calling the _MaxSizeCycle obj's underlying member method code with example usage: obj.__next__() and returns: out,  index,  int