code: def prepare_item(self, output_dir: str, item_metadata: Any) -> None:  # type: ignore
      if self._contains_device and self._device is None:
          self._find_device()
      if isinstance(self._fn, FunctionType):
          if self._contains_device:
              self._fn(output_dir, item_metadata, self._device)
          else:
              self._fn(output_dir, item_metadata)
      elif callable(self._fn):
          if self._contains_device:
              self._fn.__call__(output_dir, item_metadata, self._device)  # type: ignore
          else:
              self._fn.__call__(output_dir, item_metadata)  # type: ignore
      else:
          raise ValueError(f"The provided {self._fn} isn't supported.")
  
imports: import inspect
  import os
  from datetime import datetime
  from pathlib import Path
  from types import FunctionType
  from typing import Any, Callable, Dict, Optional, Sequence, Union
  import torch
  from lightning.data.streaming.constants import _LIGHTNING_CLOUD_LATEST, _TORCH_GREATER_EQUAL_2_1_0
  from lightning.data.streaming.data_processor import DataChunkRecipe, DataProcessor, DataTransformRecipe
label_desc: Use image node_id 3 for calling the LambdaDataTransformRecipe obj's underlying member method code with example usage: obj.prepare_item(output_dir, item_metadata) without return types