code: def modify_context(
      self,
      uris: List[str],
      runtime_env_dict: Dict,
      context: RuntimeEnvContext,
      logger: Optional[logging.Logger] = default_logger,
  ):
      if not uris:
          return
  
      # WorkingDirPlugin uses a single URI.
      uri = uris[0]
      local_dir = get_local_dir_from_uri(uri, self._resources_dir)
      if not local_dir.exists():
          raise ValueError(
              f"Local directory {local_dir} for URI {uri} does "
              "not exist on the cluster. Something may have gone wrong while "
              "downloading or unpacking the working_dir."
          )
  
      if not _WIN32:
          context.command_prefix += ["cd", str(local_dir), "&&"]
      else:
          # Include '/d' incase temp folder is on different drive than Ray install.
          context.command_prefix += ["cd", "/d", f"{local_dir}", "&&"]
      set_pythonpath_in_context(
          python_path=str(local_dir), context=context
      )
  
file_path: ray/python/ray/_private/runtime_env/working_dir.py
imports: import logging
  import os
  from pathlib import Path
  from typing import Any, Dict, List, Optional
  from ray._private.runtime_env.context import RuntimeEnvContext
  from ray._private.runtime_env.packaging import Protocol, delete_package, download_and_unpack_package, get_local_dir_from_uri, get_uri_for_directory, get_uri_for_package, parse_uri, upload_package_if_needed, upload_package_to_gcs
  from ray._private.runtime_env.plugin import RuntimeEnvPlugin
  from ray._private.utils import get_directory_size_bytes, try_to_create_directory
  from ray.exceptions import RuntimeEnvSetupError
label_desc: Use image node_id 4 for calling the WorkingDirPlugin obj's underlying member method code with example usage: obj.modify_context(uris, runtime_env_dict, context, logger) without return types