class_docstr: Handles parameter management for estimators composed of named estimators.
  
  Partly adapted from sklearn utils.metaestimator.py.
code: def _check_names(self, names):
      if len(set(names)) != len(names):
          raise ValueError(
              f"Names provided are not unique: {list(names)!r}"
          )
      invalid_names = set(names).intersection(
          self.get_params(deep=False)
      )
      if invalid_names:
          raise ValueError(
              "Estimator names conflict with constructor "
              "arguments: {!r}".format(sorted(invalid_names))
          )
      invalid_names = [name for name in names if "__" in name]
      if invalid_names:
          raise ValueError(
              "Estimator names must not contain __: got "
              "{!r}".format(invalid_names)
          )
  
imports: from inspect import isclass
  import numpy
  import pandas
  from sktime.base import BaseEstimator
label_desc: Use image node_id 8 for calling the _HeterogenousMetaEstimator obj's underlying member method code with example usage: obj._check_names(names) without return types