code: def get_to_persist(persisters):
      
      def specs():
          for p in persisters:
              if isinstance(p, dict):
                  yield p["name"], p.get("enabled", True)
              else:
                  yield p, True
  
      components = sorted(dr.DELEGATES, key=dr.get_name)
      names = dict((c, dr.get_name(c)) for c in components)
  
      results = set()
      for p, e in specs():
          for c in components:
              if names[c].startswith(p):
                  if e:
                      results.add(c)
                  elif c in results:
                      results.remove(c)
      return results
docs: Given a specification of what to persist, generates the corresponding set
      of components.