class_docstr: A prescription of how metadata is to be passed to a single method.
  
  Refer to :class:`MetadataRequest` for how this class is used.
  
  .. versionadded:: 1.3
  
  Parameters
  ----------
  owner : str
      A display name for the object owning these requests.
  
  method : str
      The name of the method to which these requests belong.
  
  requests : dict of {str: bool, None or str}, default=None
      The initial requests for this method.
class_docstr_tok: ["A","prescription","of","how","metadata","is","to","be","passed","to","a","single","method",".","Refer","to",":","class",":","`","MetadataRequest","`","for","how","this","class","is","used",".","..","versionadded",":",":","1.3","Parameters","--","--","--","--","--","owner",":","str","A","display","name","for","the","object","owning","these","requests",".","method",":","str","The","name","of","the","method","to","which","these","requests","belong",".","requests",":","dict","of","{","str",":","bool",",","None","or","str","}",",","default=None","The","initial","requests","for","this","method","."]
docstr: Prepare the given parameters to be passed to the method.
  
  The output of this method can be used directly as the input to the
  corresponding method as extra props.
  
  Parameters
  ----------
  params : dict
      A dictionary of provided metadata.
  
  Returns
  -------
  params : Bunch
      A :class:`~sklearn.utils.Bunch` of {prop: value} which can be given to the
      corresponding method.
docstr_tok: ["Prepare","the","given","parameters","to","be","passed","to","the","method",".","The","output","of","this","method","can","be","used","directly","as","the","input","to","the","corresponding","method","as","extra","props",".","Parameters","--","--","--","--","--","params",":","dict","A","dictionary","of","provided","metadata",".","Returns","--","--","--","-","params",":","Bunch","A",":","class",":","`","~sklearn.utils.Bunch","`","of","{","prop",":","value","}","which","can","be","given","to","the","corresponding","method","."]
code: def _route_params(self, params):
      """Prepare the given parameters to be passed to the method.
  
      The output of this method can be used directly as the input to the
      corresponding method as extra props.
  
      Parameters
      ----------
      params : dict
          A dictionary of provided metadata.
  
      Returns
      -------
      params : Bunch
          A :class:`~sklearn.utils.Bunch` of {prop: value} which can be given to the
          corresponding method.
      """
      self._check_warnings(params=params)
      unrequested = dict()
      args = {
          arg: value
          for arg, value in params.items()
          if value is not None
      }
      res = Bunch()
      for prop, alias in self._requests.items():
          if alias is False or alias == WARN:
              continue
          elif alias is True and prop in args:
              res[prop] = args[prop]
          elif alias is None and prop in args:
              unrequested[prop] = args[prop]
          elif alias in args:
              res[prop] = args[alias]
      if unrequested:
          raise UnsetMetadataPassedError(
              message=(
                  f"[{', '.join([key for key in unrequested])}] are passed but are"
                  " not explicitly set as requested or not for"
                  f" {self.owner}.{self.method}"
              ),
              unrequested_params=unrequested,
              routed_params=res,
          )
      return res
  
imports: import inspect
  from collections import namedtuple
  from copy import deepcopy
  from typing import TYPE_CHECKING, Optional, Union
  from warnings import warn
  from ..None import get_config
  from ..exceptions import UnsetMetadataPassedError
  from ._bunch import Bunch
label_desc: Use image node_id 6 for calling the MethodMetadataRequest obj's underlying member method code with example usage: obj._route_params(params) and returns: res