code: def _index_objects(self):
      objects = []
      if os.path.exists(self._cache_dir):
          for flow_ds_id in os.listdir(self._cache_dir):
              root = os.path.join(self._cache_dir, flow_ds_id)
              if not os.path.isdir(root):
                  continue
              for subdir in os.listdir(root):
                  root = os.path.join(
                      self._cache_dir, flow_ds_id, subdir
                  )
                  if not os.path.isdir(root):
                      continue
                  for obj in os.listdir(root):
                      sha, ext = os.path.splitext(obj)
                      if ext in ["cached", "blob"]:
                          path = os.path.join(root, obj)
                          objects.insert(
                              0,
                              (
                                  os.path.getctime(path),
                                  os.path.getsize(path),
                                  path,
                              ),
                          )
  
      self._total = sum(size for _, size, _ in objects)
      self._objects = sorted(objects, reverse=False)
  
imports: from __future__ import print_function
  from collections import OrderedDict
  import os
  import sys
  import time
  from tempfile import NamedTemporaryFile
  from hashlib import sha1
  from metaflow.datastore import FlowDataStore
  from metaflow.datastore.content_addressed_store import BlobCache
  from metaflow.exception import MetaflowException
  from metaflow.metaflow_config import CLIENT_CACHE_PATH, CLIENT_CACHE_MAX_SIZE, CLIENT_CACHE_MAX_FLOWDATASTORE_COUNT, CLIENT_CACHE_MAX_TASKDATASTORE_COUNT
  from metaflow.plugins import DATASTORES
label_desc: Use image node_id 16 for calling the FileCache obj's underlying member method code with example usage: obj._index_objects() without return types