class_docstr: Structure to discover and store `Dataset` dependencies.
  
  Used primarily by the `Scene` object to organize dependency finding.
  Dependencies are stored used a series of `Node` objects which this
  class is a subclass of.
class_docstr_tok: ["Structure","to","discover","and","store","`","Dataset","`","dependencies",".","Used","primarily","by","the","`","Scene","`","object","to","organize","dependency","finding",".","Dependencies","are","stored","used","a","series","of","`","Node","`","objects","which","this","class","is","a","subclass","of","."]
docstr: Get a compositor.
docstr_tok: ["Get","a","compositor","."]
code: def get_compositor(self, key):
      """Get a compositor."""
      for sensor_name in sorted(self.compositors):
          try:
              return self.compositors[sensor_name][key]
          except KeyError:
              continue
  
      raise KeyError("Could not find compositor '{}'".format(key))
  
imports: from __future__ import annotations
  from typing import Container, Iterable, Optional
  import numpy
  from satpy import DataID, DatasetDict
  from satpy.dataset import ModifierTuple, create_filtered_query
  from satpy.dataset.data_dict import TooManyResults, get_key
  from satpy.node import EMPTY_LEAF_NAME, LOG, CompositorNode, MissingDependencies, Node, ReaderNode
label_desc: Use image node_id 19 for calling the DependencyTree obj's underlying member method code with example usage: obj.get_compositor(key) and returns: self