code: def get_next(self):
      finished = False
      if self.section is not None:
          self.section.progress(self.current_iterator.idx)
          self.section.__exit__(None, None, None)
          self.section = None
      while not finished:
          finished = True
          for it in self.it:
              if it.idx < len(it):
                  finished = False
                  if (
                      it.idx
                      < (self.idx + 1)
                      * len(it)
                      // self.total_iterations
                  ):
                      if self.is_monit:
                          self.section = self.monitor.section(
                              it.name,
                              is_partial=True,
                              is_silent=False,
                              is_timed=True,
                              total_steps=it.size,
                              is_children_silent=False,
                              is_new_line=True,
                              is_not_in_loop=False,
                              is_track=False,
                          )
                          self.section.__enter__()
                      self.current_iterator = it
                      if it.is_iterate:
                          return it.name, next(it)
                      else:
                          next(it)
                          return None
  
          self.idx += 1
  
      raise StopIteration()
  
file_path: labml/client/labml/internal/monitor/mix.py
imports: from typing import Tuple, Union, Callable, Any, List, cast, Sized, TYPE_CHECKING, Iterator
label_desc: Use image node_id 3 for calling the Mix obj's underlying member method code with example usage: obj.get_next() and returns: it,  next, None