code: def _collect_component_names(self) -> List[str]:
      sep = "/"
      if self.fs.exists(self.drive_root):
          # Invalidate cache before running ls in case new directories have been added
          # TODO: Re-evaluate this - may lead to performance issues
          self.fs.invalidate_cache()
          return [
              str(p.split(sep)[-1]) for p in self.fs.ls(self.drive_root)
          ]
      return []
  
imports: import os
  import pathlib
  import shutil
  import sys
  from copy import deepcopy
  from time import sleep, time
  from typing import Dict, List, Optional, Union
  from lightning.app.storage.path import LocalFileSystem, _filesystem, _shared_storage_path
  from lightning.app.utilities.component import _is_flow_context
label_desc: Use image node_id 11 for calling the Drive obj's underlying member method code with example usage: obj._collect_component_names() and returns: list, unknown