code: def _log_message(
      self, *, estimator_idx, n_estimators, processing_msg
  ):
      if not self.verbose:
          return None
      return f"({estimator_idx} of {n_estimators}) {processing_msg}"
  
imports: from abc import ABCMeta, abstractmethod
  from numbers import Integral
  import numpy
  import scipy.sparse
  from .base import BaseEstimator, ClassifierMixin, MetaEstimatorMixin, RegressorMixin, _fit_context, clone, is_classifier
  from .model_selection import cross_val_predict
  from .utils import Bunch, _print_elapsed_time, check_random_state
  from .utils._param_validation import HasMethods, StrOptions
  from .utils.metadata_routing import MetadataRouter, MethodMapping, _routing_enabled, process_routing
  from .utils.metaestimators import available_if
  from .utils.multiclass import check_classification_targets
  from .utils.parallel import Parallel, delayed
  from .utils.validation import _check_fit_params, check_is_fitted, has_fit_parameter
label_desc: Use image node_id 2 for calling the _BaseChain obj's underlying member method code with example usage: obj._log_message() and returns: str, estimator_idx, str, n_estimators, str, processing_msg, None