code: def download_object(self, object_name, destination_path):
      bucket = self.client.bucket(self.bucket)
      blob = bucket.blob(object_name)
      try:
          with open(destination_path, "wb") as f:
              blob.download_to_file(f)
      except NotFound as e:
          logger.error(
              "Object not found.",
              bucket=self.bucket,
              object_name=object_name,
          )
          os.remove(destination_path)
          raise errors.ObjectDoesNotExistError(
              driver=self, bucket=self.bucket, object_name=object_name
          ) from e
  
imports: import os
  from typing import Dict, Optional, Union
  import pydantic
  from google.api_core.exceptions import GoogleAPIError, NotFound
  from google.cloud import storage
  from google.cloud.storage import Client
  from structlog import get_logger
  from tenacity import retry
  from modelkit.assets import errors
  from modelkit.assets.drivers.abc import StorageDriver, StorageDriverSettings
  from modelkit.assets.drivers.retry import retry_policy
label_desc: Use image node_id 5 for calling the GCSStorageDriver obj's underlying member method code with example usage: obj.download_object(object_name, destination_path) without return types