class_docstr: Handles parameter management for estimators composed of named estimators.
  
  Partly adapted from sklearn utils.metaestimator.py.
docstr: Return first non-'None' value of tag `tag_name` in estimator list.
  
  Parameters
  ----------
  tag_name : str, name of the tag
  estimators : list of (str, estimator) pairs to query for the tag/value
  
  Return
  ------
  tag_val : first non-'None' value of tag `tag_name` in estimator list.
docstr_tok: ["Return","first","non-'None","'","value","of","tag","`","tag_name","`","in","estimator","list",".","Parameters","--","--","--","--","--","tag_name",":","str",",","name","of","the","tag","estimators",":","list","of","(","str",",","estimator",")","pairs","to","query","for","the","tag\/value","Return","--","--","--","tag_val",":","first","non-'None","'","value","of","tag","`","tag_name","`","in","estimator","list","."]
code: def _anytag_notnone_val(self, tag_name, estimators):
      """Return first non-'None' value of tag `tag_name` in estimator list.
  
      Parameters
      ----------
      tag_name : str, name of the tag
      estimators : list of (str, estimator) pairs to query for the tag/value
  
      Return
      ------
      tag_val : first non-'None' value of tag `tag_name` in estimator list.
      """
      for _, est in estimators:
          tag_val = est.get_tag(tag_name)
          if tag_val != "None":
              return tag_val
      return tag_val
  
imports: from inspect import isclass
  import numpy
  import pandas
  from sktime.base import BaseEstimator
label_desc: Use image node_id 20 for calling the _HeterogenousMetaEstimator obj's underlying member method code with example usage: obj._anytag_notnone_val(tag_name, estimators) and returns: tag_val, tag_val