code: def get_supervisor(self, key: str, size=1):
      if not self._supervisors:
          return None
      elif size == 1:
          return self._hash_ring.get_node(key)
      else:
          return tuple(
              it["nodename"]
              for it in self._hash_ring.range(key, size=size)
          )
  
file_path: mars/mars/services/cluster/locator.py
imports: import asyncio
  import logging
  from typing import List, Optional
  from ...None import oscar
  from ...lib.uhashring import HashRing
  from .backends import AbstractClusterBackend, get_cluster_backend
  from .core import NodeRole, WatchNotifier
label_desc: Use image node_id 3 for calling the SupervisorLocatorActor obj's underlying member method code with example usage: obj.get_supervisor(key, size) and returns: None, self, tuple