code: def set(
      self,
      credentials: SyftVerifyKey,
      obj: SyftWorker,
      add_permissions: Union[List[ActionObjectPermission], None] = None,
      ignore_duplicates: bool = False,
  ) -> Result[SyftWorker, str]:
      # By default all worker pools have all read permission
      add_permissions = (
          [] if add_permissions is None else add_permissions
      )
      add_permissions.append(
          ActionObjectPermission(
              uid=obj.id, permission=ActionPermission.ALL_READ
          )
      )
      return super().set(
          credentials, obj, add_permissions, ignore_duplicates
      )
  
file_path: PySyft/packages/syft/src/syft/service/worker/worker_stash.py
imports: from typing import List
  from typing import Optional
  from typing import Union
  from result import Result
  from ...node.credentials import SyftVerifyKey
  from ...serde.serializable import serializable
  from ...store.document_store import BaseUIDStoreStash
  from ...store.document_store import DocumentStore
  from ...store.document_store import PartitionKey
  from ...store.document_store import PartitionSettings
  from ...store.document_store import QueryKeys
  from ...util.telemetry import instrument
  from ..action.action_permissions import ActionObjectPermission
  from ..action.action_permissions import ActionPermission
  from .worker_pool import SyftWorker
label_desc: Use image node_id 2 for calling the WorkerStash obj's underlying member method code with example usage: obj.set(credentials, obj, add_permissions, ignore_duplicates) and returns: super