def copy(self, dst: utils.PathLike, overwrite: bool=False) -> utils.ReadWritePath:
    'Copy the current file to the given destination.\n\n    Args:\n      dst: Target file. It can be any PathLike compatible path (e.g. `gs://...`)\n      overwrite: Whether the file should be overwritten or not\n\n    Returns:\n      The new created file.\n\n    Raises:\n      FileExistsError: If `overwrite` is false and destination exists.\n    '
    dst = utils.as_path(dst)
    if ((not overwrite) and dst.exists()):
        raise FileExistsError(f'Cannot copy {self}. Destination {dst} exists.')
    dst.write_bytes(self.read_bytes())
    return dst
Copy the current file to the given destination.

Args:
  dst: Target file. It can be any PathLike compatible path (e.g. `gs://...`)
  overwrite: Whether the file should be overwritten or not

Returns:
  The new created file.

Raises:
  FileExistsError: If `overwrite` is false and destination exists.
def copy(self, dst: utils.PathLike, overwrite: bool=False) -> utils.ReadWritePath:
    'Copy the current file to the given destination.\n\n    Args:\n      dst: Target file. It can be any PathLike compatible path (e.g. `gs://...`)\n      overwrite: Whether the file should be overwritten or not\n\n    Returns:\n      The new created file.\n\n    Raises:\n      FileExistsError: If `overwrite` is false and destination exists.\n    '
    dst = utils.as_path(dst)
    if ((not overwrite) and dst.exists()):
        raise FileExistsError(f'Cannot copy {self}. Destination {dst} exists.')
    dst.write_bytes(self.read_bytes())
    return dst