code: def use_service(bundle_context, svc_reference):
      
      if svc_reference is None:
          raise TypeError("Invalid ServiceReference")
  
      try:
          # Give the service
          yield bundle_context.get_service(svc_reference)
      finally:
          try:
              # Release it
              bundle_context.unget_service(svc_reference)
          except pelix.constants.BundleException:
              # Service might have already been unregistered
              pass
docs: Utility context to safely use a service in a "with" block.
      It looks after the the given service and releases its reference when
      exiting the context.
  
      :param bundle_context: The calling bundle context
      :param svc_reference: The reference of the service to use
      :return: The requested service
      :raise BundleException: Service not found
      :raise TypeError: Invalid service reference