code: def _next(self):
      clock_len = self._clk_update()
  
      for indicator in self._lineiterators[LineIterator.IndType]:
          indicator._next()
  
      self._notify()
  
      if self._ltype == LineIterator.StratType:
          # supporting datas with different lengths
          minperstatus = self._getminperstatus()
          if minperstatus < 0:
              self.next()
          elif minperstatus == 0:
              self.nextstart()  # only called for the 1st value
          else:
              self.prenext()
      else:
          # assume indicators and others operate on same length datas
          # although the above operation can be generalized
          if clock_len > self._minperiod:
              self.next()
          elif clock_len == self._minperiod:
              self.nextstart()  # only called for the 1st value
          elif clock_len:
              self.prenext()
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import collections
  import operator
  import sys
  from .utils.py3 import map, range, zip, with_metaclass, string_types
  from .utils import DotDict
  from .lineroot import LineRoot, LineSingle
  from .linebuffer import LineActions, LineNum
  from .lineseries import LineSeries, LineSeriesMaker
  from .dataseries import DataSeries
  from .None import metabase
label_desc: Use image node_id 9 for calling the LineIterator obj's underlying member method code with example usage: obj._next() without return types