code: def _create_chunk(
      self, output_idx: int, index: Tuple[int], **kw
  ) -> ChunkType:
      output_type = kw.pop(
          "output_type", None
      ) or self._get_output_type(output_idx)
      if not output_type:
          raise ValueError("output_type should be specified")
  
      if isinstance(output_type, (list, tuple)):
          output_type = output_type[output_idx]
      chunk_type, chunk_data_type = get_chunk_types(output_type)
      kw["_i"] = output_idx
      kw["op"] = self
      kw["index"] = index
      if output_type == OutputType.scalar:
          # tensor
          kw["order"] = "C_ORDER"
  
      # key of output chunks may only contain keys for its output ids
      if "_key" not in kw:
          kw["_key"] = self._tokenize_output(output_idx, **kw)
  
      data = chunk_data_type(**kw)
      return chunk_type(data)
  
imports: import sys
  from typing import Any, Callable, Dict, List, Tuple, Type, Union
  import numpy
  from ...metrics import Metrics
  from ...typing import TileableType, ChunkType, OperandType
  from ...utils import calc_data_size
  from ..context import Context
  from ..mode import is_eager_mode
  from ..entity import OutputType, ExecutableTuple, get_chunk_types, get_tileable_types, get_output_types, get_fetch_class
label_desc: Use image node_id 4 for calling the TileableOperandMixin obj's underlying member method code with example usage: obj._create_chunk(output_idx, index) and returns: chunk_type