class_docstr: Handles parameter management for estimators composed of named estimators.
  
  Partly adapted from sklearn utils.metaestimator.py.
docstr: Check whether all tags left of the first mid_tag/val are left_tag/val.
  
  Useful to check, for instance, whether all instances of estimators
      left of the first missing value imputer can deal with missing values.
  
  Parameters
  ----------
  left_tag_name : str, name of the left tag
  mid_tag_name : str, name of the middle tag
  estimators : list of (str, estimator) pairs to query for the tag/value
  left_tag_val : value of the left tag, optional, default=True
  mid_tag_val : value of the middle tag, optional, default=True
  
  Returns
  -------
  chain_is_linked : bool,
      True iff all "left" tag instances `left_tag_name` have value `left_tag_val`
      a "left" tag instance is an instance in estimators which is earlier
      than the first occurrence of `mid_tag_name` with value `mid_tag_val`
  chain_is_complete : bool,
      True iff chain_is_linked is True, and
          there is an occurrence of `mid_tag_name` with value `mid_tag_val`
docstr_tok: ["Check","whether","all","tags","left","of","the","first","mid_tag\/val","are","left_tag\/val",".","Useful","to","check",",","for","instance",",","whether","all","instances","of","estimators","left","of","the","first","missing","value","imputer","can","deal","with","missing","values",".","Parameters","--","--","--","--","--","left_tag_name",":","str",",","name","of","the","left","tag","mid_tag_name",":","str",",","name","of","the","middle","tag","estimators",":","list","of","(","str",",","estimator",")","pairs","to","query","for","the","tag\/value","left_tag_val",":","value","of","the","left","tag",",","optional",",","default=True","mid_tag_val",":","value","of","the","middle","tag",",","optional",",","default=True","Returns","--","--","--","-","chain_is_linked",":","bool",",","True","iff","all","``","left","''","tag","instances","`","left_tag_name","`","have","value","`","left_tag_val","`","a","``","left","''","tag","instance","is","an","instance","in","estimators","which","is","earlier","than","the","first","occurrence","of","`","mid_tag_name","`","with","value","`","mid_tag_val","`","chain_is_complete",":","bool",",","True","iff","chain_is_linked","is","True",",","and","there","is","an","occurrence","of","`","mid_tag_name","`","with","value","`","mid_tag_val","`"]
code: def _tagchain_is_linked(
      self,
      left_tag_name,
      mid_tag_name,
      estimators,
      left_tag_val=True,
      mid_tag_val=True,
  ):
      """Check whether all tags left of the first mid_tag/val are left_tag/val.
  
      Useful to check, for instance, whether all instances of estimators
          left of the first missing value imputer can deal with missing values.
  
      Parameters
      ----------
      left_tag_name : str, name of the left tag
      mid_tag_name : str, name of the middle tag
      estimators : list of (str, estimator) pairs to query for the tag/value
      left_tag_val : value of the left tag, optional, default=True
      mid_tag_val : value of the middle tag, optional, default=True
  
      Returns
      -------
      chain_is_linked : bool,
          True iff all "left" tag instances `left_tag_name` have value `left_tag_val`
          a "left" tag instance is an instance in estimators which is earlier
          than the first occurrence of `mid_tag_name` with value `mid_tag_val`
      chain_is_complete : bool,
          True iff chain_is_linked is True, and
              there is an occurrence of `mid_tag_name` with value `mid_tag_val`
      """
      for _, est in estimators:
          if est.get_tag(mid_tag_name) == mid_tag_val:
              return True, True
          if not est.get_tag(left_tag_name) == left_tag_val:
              return False, False
      return True, False
  
imports: from inspect import isclass
  import numpy
  import pandas
  from sktime.base import BaseEstimator
label_desc: Use image node_id 22 for calling the _HeterogenousMetaEstimator obj's underlying member method code with example usage: obj._tagchain_is_linked(left_tag_name, mid_tag_name, estimators, left_tag_val, mid_tag_val) and returns: True,  False, True,  True, False,  False