code: def copy(self, datasets=None):
          
          new_scn = self.__class__()
          new_scn.attrs = self.attrs.copy()
          new_scn.dep_tree = self.dep_tree.copy()
  
          for ds_id in (datasets or self.keys()):
              # NOTE: Must use `.datasets` or side effects of `__setitem__`
              #       could hurt us with regards to the wishlist
              new_scn.datasets[ds_id] = self[ds_id]
  
          if not datasets:
              new_scn.wishlist = self.wishlist.copy()
          else:
              new_scn.wishlist = set([DatasetID.from_dict(ds.attrs)
                                      for ds in new_scn])
          return new_scn
docs: Create a copy of the Scene including dependency information.
  
          Args:
              datasets (list, tuple): `DatasetID` objects for the datasets
                                      to include in the new Scene object.