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: Determine prerequisite Nodes for a composite.
  
  Args:
      parent (Node): Compositor node to add these prerequisites under
      prereqs (sequence): Strings (names), floats (wavelengths),
                          DataQuerys or Nodes to analyze.
docstr_tok: ["Determine","prerequisite","Nodes","for","a","composite",".","Args",":","parent","(","Node",")",":","Compositor","node","to","add","these","prerequisites","under","prereqs","(","sequence",")",":","Strings","(","names",")",",","floats","(","wavelengths",")",",","DataQuerys","or","Nodes","to","analyze","."]
code: def _create_prerequisite_subtrees(
      self, parent, prereqs, query=None
  ):  # noqa: D417
      """Determine prerequisite Nodes for a composite.
  
      Args:
          parent (Node): Compositor node to add these prerequisites under
          prereqs (sequence): Strings (names), floats (wavelengths),
                              DataQuerys or Nodes to analyze.
  
      """
      prereq_nodes = []
      unknown_datasets = dict()
      if not prereqs:
          # this composite has no required prerequisites
          prereq_nodes.append(self.empty_node)
          self.add_child(parent, self.empty_node)
          return prereq_nodes, unknown_datasets
  
      for prereq in prereqs:
          try:
              if isinstance(prereq, Node):
                  node = prereq
              else:
                  node = self._create_subtree_for_key(
                      prereq, query=query
                  )
          except MissingDependencies as unknown:
              unknown_datasets[prereq] = unknown.missing_dependencies
  
          else:
              prereq_nodes.append(node)
              self.add_child(parent, node)
  
      return prereq_nodes, unknown_datasets
  
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 23 for calling the DependencyTree obj's underlying member method code with example usage: obj._create_prerequisite_subtrees(parent, prereqs, query) and returns: prereq_nodes,  unknown_datasets, prereq_nodes,  unknown_datasets