code: def __call__(cls, *args, **kwargs):
      if not cls._icacheuse:
          return super(MetaIndicator, cls).__call__(*args, **kwargs)
  
      # implement a cache to avoid duplicating lines actions
      ckey = (
          cls,
          tuple(args),
          tuple(kwargs.items()),
      )  # tuples hashable
      try:
          return cls._icache[ckey]
      except TypeError:  # something not hashable
          return super(MetaIndicator, cls).__call__(*args, **kwargs)
      except KeyError:
          pass  # hashable but not in the cache
  
      _obj = super(MetaIndicator, cls).__call__(*args, **kwargs)
      return cls._icache.setdefault(ckey, _obj)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from .utils.py3 import range, with_metaclass
  from .lineiterator import LineIterator, IndicatorBase
  from .lineseries import LineSeriesMaker, Lines
  from .metabase import AutoInfoClass
label_desc: Use image node_id 3 for calling the MetaIndicator obj's underlying member method code with example usage: obj.__call__(cls) and returns: cls, super, cls, super