/// <summary>
 /// Downloads all the asset files in the <paramref name="asset"/> to the <paramref name="folderPath"/>.
 /// </summary>
 /// <param name="context">The <see cref="CloudMediaContext"/> instance.</param>
 /// <param name="asset">The <see cref="IAsset"/> instance where to download the asset files.</param>
 /// <param name="folderPath">The path to the folder where to download the asset files in the <paramref name="asset"/>.</param>
 /// <param name="downloadProgressChangedCallback">A callback to report download progress for each asset file in the <paramref name="asset"/>.</param>
 public static void DownloadAssetFilesToFolder(this CloudMediaContext context, IAsset asset, string folderPath, Action <IAssetFile, DownloadProgressChangedEventArgs> downloadProgressChangedCallback)
 {
     using (Task task = context.DownloadAssetFilesToFolderAsync(asset, folderPath, downloadProgressChangedCallback, CancellationToken.None))
     {
         task.Wait();
     }
 }
 /// <summary>
 /// Returns a <see cref="System.Threading.Tasks.Task"/> instance to download all the asset files in the <paramref name="asset"/> to the <paramref name="folderPath"/>.
 /// </summary>
 /// <param name="context">The <see cref="CloudMediaContext"/> instance.</param>
 /// <param name="asset">The <see cref="IAsset"/> instance where to download the asset files.</param>
 /// <param name="folderPath">The path to the folder where to download the asset files in the <paramref name="asset"/>.</param>
 /// <param name="cancellationToken">The <see cref="System.Threading.CancellationToken"/> instance used for cancellation.</param>
 /// <returns>A <see cref="System.Threading.Tasks.Task"/> instance to download all the asset files in the <paramref name="asset"/>.</returns>
 public static Task DownloadAssetFilesToFolderAsync(this CloudMediaContext context, IAsset asset, string folderPath, CancellationToken cancellationToken)
 {
     return(context.DownloadAssetFilesToFolderAsync(asset, folderPath, null, cancellationToken));
 }