docs: def _get_from_prototype(self, factory, svc_registration):
          # type: (Any, ServiceRegistration) -> Any
          """
          Returns a service instance from a Prototype Service Factory
  
          :param factory: The service factory
          :param svc_registration: The ServiceRegistration object
          :return: The requested service instance returned by the factory
          """
          svc_ref = svc_registration.get_reference()
          service = factory.get_service(self.__bundle, svc_registration)
  
          try:
              # Check if the service already exists
              services, counter = self.__factored[svc_ref]
              services.append(service)
              counter.inc()
          except KeyError:
              counter = _UsageCounter()
              counter.inc()
  
              # Store the counter
              self.__factored[svc_ref] = ([service], counter)
  
          return service