code: def filter_keys_by_dataset_id(did, key_container):
      
      keys = iter(key_container)
  
      for key in DATASET_KEYS:
          if getattr(did, key) is not None:
              if key == "wavelength":
                  keys = [k for k in keys
                          if (getattr(k, key) is not None and
                              DatasetID.wavelength_match(getattr(k, key),
                                                         getattr(did, key)))]
              else:
                  keys = [k for k in keys
                          if getattr(k, key) is not None and getattr(k, key)
                          == getattr(did, key)]
  
      return keys
docs: Filer provided key iterable by the provided `DatasetID`.
  
      Note: The `modifiers` attribute of `did` should be `None` to allow for
            **any** modifier in the results.
  
      Args:
          did (DatasetID): Query parameters to match in the `key_container`.
          key_container (iterable): Set, list, tuple, or dict of `DatasetID`
                                    keys.
  
      Returns (list): List of keys matching the provided parameters in no
                      specific order.