code: def populate(projects_to_filter=None, group=None):
      
      if projects_to_filter is None:
          projects_to_filter = []
  
      import benchbuild.projects as all_projects
      all_projects.discover()
  
      prjs = ProjectRegistry.projects
      if projects_to_filter:
          prjs = {}
          for filter_project in set(projects_to_filter):
              try:
                  prjs.update({
                      x: y
                      for x, y in ProjectRegistry.projects.items(
                          prefix=filter_project)
                  })
              except KeyError:
                  pass
  
      if group:
          groupkeys = set(group)
          prjs = {
              name: cls
              for name, cls in prjs.items() if cls.GROUP in groupkeys
          }
  
      return {
          x: prjs[x]
          for x in prjs if prjs[x].DOMAIN != "debug" or x in projects_to_filter
      }
docs: Populate the list of projects that belong to this experiment.
  
      Args:
          projects_to_filter (list(Project)):
              List of projects we want to assign to this experiment.
              We intersect the list of projects with the list of supported
              projects to get the list of projects that belong to this
              experiment.
          group (list(str)):
              In addition to the project filter, we provide a way to filter
              whole groups.