docs: def load(self, source: Source) -> None:
          """
          Attempts to load all resources (i.e., bugs, tools, and blueprints)
          provided by a given source. If the given source has already been
          loaded, then that resources for that source are unloaded and
          reloaded.
          """
          logger.info('loading source %s at %s', source.name, source.location)
          if source.name in self.__sources:
              self.unload(source)
  
          bugs = []
          blueprints = []
          tools = []
  
          # find and parse all bugzoo files
          glob_pattern = '{}/**/*.bugzoo.y*ml'.format(source.location)
          for fn in glob.iglob(glob_pattern, recursive=True):
              if fn.endswith('.yml') or fn.endswith('.yaml'):
                  logger.debug('found manifest file: %s', fn)
                  self.__parse_file(source, fn, bugs, blueprints, tools)
                  logger.debug('parsed manifest file: %s', fn)
  
          # register contents
          for bug in bugs:
              self.__installation.bugs.add(bug)
          for blueprint in blueprints:
              self.__installation.build.add(blueprint)
          for tool in tools:
              self.__installation.tools.add(tool)
  
          # record contents of source
          contents = SourceContents([b.name for b in blueprints],
                                    [b.name for b in bugs],
                                    [t.name for t in tools])
          self.__sources[source.name] = source
          self.__contents[source.name] = contents
          logger.info("loaded source: %s", source.name)