code: def _get(
      self, fs, src: pathlib.Path, dst: pathlib.Path, overwrite: bool
  ):
      if fs.isdir(src):
          if isinstance(fs, LocalFileSystem):
              dst = dst.resolve()
              if fs.exists(dst):
                  if overwrite:
                      fs.rm(str(dst), recursive=True)
                  else:
                      raise FileExistsError(
                          f"The file {dst} was found. Add get(..., overwrite=True) to replace it."
                      )
  
              shutil.copytree(src, dst)
          else:
              glob = f"{str(src)}/**"
              fs.get(glob, str(dst.absolute()), recursive=False)
      else:
          fs.get(str(src), str(dst.absolute()), recursive=False)
  
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 13 for calling the Drive obj's underlying member method code with example usage: obj._get(fs, src, dst, overwrite) without return types