code: def _register_bundle_factories(self, bundle):
          # type: (Bundle) -> None
          
          # Load the bundle factories
          factories = _load_bundle_factories(bundle)
  
          for context, factory_class in factories:
              try:
                  # Register each found factory
                  self._register_factory(context.name, factory_class, False)
              except ValueError as ex:
                  # Already known factory
                  _logger.error(
                      "Cannot register factory '%s' of bundle %d (%s): %s",
                      context.name,
                      bundle.get_bundle_id(),
                      bundle.get_symbolic_name(),
                      ex,
                  )
                  _logger.error(
                      "class: %s -- module: %s",
                      factory_class,
                      factory_class.__module__,
                  )
              else:
                  # Instantiate components
                  for name, properties in context.get_instances().items():
                      self.instantiate(context.name, name, properties)
docs: Registers all factories found in the given bundle
  
          :param bundle: A bundle