code: def put(self):
      owner = self
      put = self._storage_api.put
  
      class _PutWrapper:
          def delay(self, data_key: str, obj: object, level=None):
              if data_key in owner._put_data_keys:
                  raise Exception(
                      f"Duplicate data put: {data_key}, obj: {obj}"
                  )
              else:
                  owner._put_data_keys.add(data_key)
                  return put.delay(data_key, obj, level)
  
          def __getattr__(self, item):
              return getattr(put, item)
  
      return _PutWrapper()
  
file_path: mars/mars/services/subtask/worker/tests/subtask_processor.py
imports: from typing import Any, Dict
  from .....core import OperandType
  from .....tests.core import _check_args, ObjectCheckMixin
  from ...worker.processor import SubtaskProcessor
label_desc: Use image node_id 3 for calling the CheckStorageAPI obj's underlying member method code with example usage: obj.put() and returns: _PutWrapper, getattr, put