def send_file_to_app(
        bundle_identifier: str,
        source_path: _Path,
        destination: str,
        device: Device,
    ) -> _DataTransferInfo:
        """
        Send a file to a specific application's data container on the target device.

        This method uses the 'devicectl' command-line tool to copy a file from the host
        machine to an application's data container on the specified device.

        Parameters
        ----------
        bundle_identifier: str
            The bundle identifier of the target application on the device.

        source_path : Path
            The path to the file on the host machine that should be sent to the device.
            This should be a Path object pointing to an existing file.

        destination: str
            The destination path within the app's data container where the file should
            be copied. This is relative to the app's container root.

        device: Device
            The target device to which the file will be sent.

        Returns
        -------
        _DataTransferInfo
            An object containing information about the completed file transfer, typically
            including:
            - source: The source path of the transferred file.
            - destination: The destination path of the transferred file on the device.
        """
        command = (
            f"devicectl device copy to "
            f"-d {device.identifier} "
            f"--source {source_path.resolve()} "
            f"{'' if device.type == DeviceType.MAC else '--user mobile '}"
            "--domain-type=appDataContainer "
            f"--domain-identifier={bundle_identifier} "
            f"--destination {destination}"
        )
        json_data = _DeviceCtl._run_command(command=command)
        return _DeviceCtl._parse_data_transfer_result(json_data=json_data)

        Send a file to a specific application's data container on the target device.

        This method uses the 'devicectl' command-line tool to copy a file from the host
        machine to an application's data container on the specified device.

        Parameters
        ----------
        bundle_identifier: str
            The bundle identifier of the target application on the device.

        source_path : Path
            The path to the file on the host machine that should be sent to the device.
            This should be a Path object pointing to an existing file.

        destination: str
            The destination path within the app's data container where the file should
            be copied. This is relative to the app's container root.

        device: Device
            The target device to which the file will be sent.

        Returns
        -------
        _DataTransferInfo
            An object containing information about the completed file transfer, typically
            including:
            - source: The source path of the transferred file.
            - destination: The destination path of the transferred file on the device.
        
coremltools/models/ml_program/experimental/remote_device.py