code: def get_task_datastore(
      self,
      run_id,
      step_name,
      task_id,
      attempt=None,
      data_metadata=None,
      mode="r",
      allow_not_done=False,
  ):
      return TaskDataStore(
          self,
          run_id,
          step_name,
          task_id,
          attempt=attempt,
          data_metadata=data_metadata,
          mode=mode,
          allow_not_done=allow_not_done,
      )
  
file_path: metaflow/metaflow/datastore/flow_datastore.py
imports: import itertools
  import json
  from ..None import metaflow_config
  from .content_addressed_store import ContentAddressedStore
  from .task_datastore import TaskDataStore
label_desc: Use image node_id 4 for calling the FlowDataStore obj's underlying member method code with example usage: obj.get_task_datastore(run_id, step_name, task_id, attempt, data_metadata, mode, allow_not_done) and returns: TaskDataStore