code: def _get_params_fields(cls, tileable: TileableType):
      from .....dataframe.core import DATAFRAME_TYPE, SERIES_TYPE
      from .....tensor.core import TENSOR_TYPE
  
      params_fields = []
      fields = get_chunk_params(tileable.chunks[0])
      if isinstance(tileable, DATAFRAME_TYPE):
          for c in tileable.chunks:
              cur_fields = set(fields)
              if c.index[1] > 0:
                  # skip fetch index_value for i >= 1 on column axis
                  cur_fields.remove("index_value")
              if c.index[0] > 0:
                  # skip fetch dtypes_value for i >= 1 on index axis
                  cur_fields.remove("dtypes_value")
              if c.index[0] > 0 and c.index[1] > 0:
                  # fetch shape only for i == 0 on index or column axis
                  cur_fields.remove("shape")
              params_fields.append(list(cur_fields))
      elif isinstance(tileable, SERIES_TYPE):
          for c in tileable.chunks:
              cur_fields = set(fields)
              if c.index[0] > 0:
                  # skip fetch name and dtype for i >= 1
                  cur_fields.remove("name")
                  cur_fields.remove("dtype")
              params_fields.append(list(cur_fields))
      elif isinstance(tileable, TENSOR_TYPE):
          for i, c in enumerate(tileable.chunks):
              cur_fields = set(fields)
              if c.ndim > 1 and all(j > 0 for j in c.index):
                  cur_fields.remove("shape")
              if i > 0:
                  cur_fields.remove("dtype")
                  cur_fields.remove("order")
              params_fields.append(list(cur_fields))
      else:
          for _ in tileable.chunks:
              params_fields.append(list(fields))
      return params_fields
  
imports: import asyncio
  import itertools
  import logging
  import time
  from collections import defaultdict
  from typing import Dict, List
  from .....None import oscar
  from .....core import ChunkGraph, Chunk
  from .....core.operand import Fuse, Fetch
  from .....metrics import Metrics
  from .....utils import get_chunk_params
  from .....typing import BandType, TileableType
  from ....meta import MetaAPI, WorkerMetaAPI
  from ....scheduling import SchedulingAPI
  from ....subtask import Subtask, SubtaskGraph, SubtaskResult, SubtaskStatus
  from ....task.core import Task, TaskResult, TaskStatus
  from ..api import ExecutionChunkResult
label_desc: Use image node_id 5 for calling the TaskStageProcessor obj's underlying member method code with example usage: obj._get_params_fields(cls, tileable) and returns: params_fields