code: def _update_modifier_key(self, orig_key, dep_key):
          
          orig_dict = orig_key._asdict()
          dep_dict = dep_key._asdict()
          # don't change the modifiers
          for k in DATASET_KEYS[:-1]:
              orig_dict[k] = dep_dict[k]
          return DatasetID.from_dict(orig_dict)
docs: Update a key based on the dataset it will modified (dep).
  
          Typical use case is requesting a modified dataset (orig_key). This
          modified dataset most likely depends on a less-modified
          dataset (dep_key). The less-modified dataset must come from a reader
          (at least for now) or will eventually depend on a reader dataset.
          The original request key may be limited like
          (wavelength=0.67, modifiers=('a', 'b')) while the reader-based key
          should have all of its properties specified. This method updates the
          original request key so it is fully specified and should reduce the
          chance of Node's not being unique.