code: def set_garbage_collector(self, exts=None, policy="task"):
          
          assert policy in ("task", "flow")
          exts = list_strings(exts) if exts is not None else ("WFK", "SUS", "SCR", "BSR", "BSC")
  
          gc = GarbageCollector(exts=set(exts), policy=policy)
  
          self.set_gc(gc)
          for work in self:
              #work.set_gc(gc) # TODO Add support for Works and flow policy
              for task in work:
                  task.set_gc(gc)
docs: Enable the garbage collector that will remove the big output files that are not needed.
  
          Args:
              exts: string or list with the Abinit file extensions to be removed. A default is
                  provided if exts is None
              policy: Either `flow` or `task`. If policy is set to 'task', we remove the output
                  files as soon as the task reaches S_OK. If 'flow', the files are removed
                  only when the flow is finalized. This option should be used when we are dealing
                  with a dynamic flow with callbacks generating other tasks since a :class:`Task`
                  might not be aware of its children when it reached S_OK.