class_docstr: Helper class for parsing modifier configurations.
  
  The provided `loaded_modifiers` dictionary is updated inplace.
code: def _get_modifier_loader_from_config(modifier_name, modifier_info):
      try:
          loader = modifier_info.pop("modifier", None)
          if loader is None:
              loader = modifier_info.pop("compositor")
              warnings.warn(
                  "Modifier '{}' uses deprecated 'compositor' "
                  "key to point to Python class, replace "
                  "with 'modifier'.".format(modifier_name),
                  stacklevel=5,
              )
      except KeyError:
          raise ValueError(
              "'modifier' key missing or empty for '{}'. Option keys = {}".format(
                  modifier_name, str(modifier_info.keys())
              )
          )
      return loader
  
imports: from __future__ import annotations
  import logging
  import os
  import warnings
  from functools import lru_cache, update_wrapper
  from typing import Callable, Iterable
  import yaml
  from yaml import UnsafeLoader
  import satpy
  from satpy import DataID, DataQuery
  from satpy._config import config_search_paths, get_entry_points_config_dirs, glob_config
  from satpy.dataset.dataid import minimal_default_keys_config
  from satpy.utils import recursive_dict_update
label_desc: Use image node_id 2 for calling the _ModifierConfigHelper obj's underlying member method code with example usage: obj._get_modifier_loader_from_config(modifier_name, modifier_info) and returns: loader