code: def test_deployment_handle_nested_in_obj(serve_instance):
      """Test binding a handle within a custom object."""
  
      class HandleWrapper:
          def __init__(self, handle: RayServeHandle):
              self._handle = handle
  
          def get(self) -> DeploymentHandle:
              return self._handle.options(use_new_handle_api=True)
  
      @serve.deployment
      def f() -> str:
          return "hi"
  
      @serve.deployment
      class MyDriver:
          def __init__(self, handle_wrapper: HandleWrapper):
              self.handle_wrapper = handle_wrapper
  
          async def __call__(self) -> str:
              return await self.handle_wrapper.get().remote()
  
      handle_wrapper = HandleWrapper(f.bind())
      h = serve.run(MyDriver.bind(handle_wrapper)).options(
          use_new_handle_api=True
      )
      assert h.remote().result() == "hi"
  
imports: import asyncio
  import os
  import sys
  from typing import Dict, Optional
  import pytest
  import requests
  import starlette.responses
  from fastapi import FastAPI
  import ray
  from ray import serve
  from ray._private.pydantic_compat import BaseModel, ValidationError
  from ray._private.test_utils import SignalActor, wait_for_condition
  from ray.serve._private.api import call_app_builder_with_args_if_necessary
  from ray.serve._private.common import DeploymentID
  from ray.serve._private.constants import SERVE_DEFAULT_APP_NAME
  from ray.serve.deployment import Application
  from ray.serve.exceptions import RayServeException
  from ray.serve.handle import DeploymentHandle, RayServeHandle
label_desc: Use image node_id 34 for calling a global function with example usage: test_deployment_handle_nested_in_obj(serve_instance) and returns: str, self, unknown