docs: def destroy(self, prefix_names=None):
          """
          Destroy all the given prefixes and remove any left files if no more
          prefixes are left
  
          Args:
              prefix_names(list of str): list of prefix names to destroy, if None
              passed (default) will destroy all of them
          """
          if prefix_names is None:
              self.destroy(prefix_names=self.prefixes.keys())
              return
  
          for prefix_name in prefix_names:
              if prefix_name == 'current' and self.current in prefix_names:
                  continue
  
              elif prefix_name == 'current':
                  prefix_name = self.current
  
              self.get_prefix(prefix_name).destroy()
              self.prefixes.pop(prefix_name)
              if self.prefixes:
                  self._update_current()
  
          if not self.prefixes:
              shutil.rmtree(self.path)