private async Task ProcessBlockedOperationAsync(IOperation operation) { var(sourceFilePath, destinationFilePath) = operation.CurrentBlockedFile; var areMultipleFilesAvailable = operation.Info.TotalFilesCount > 1; var navigationParameter = new OverwriteOptionsNavigationParameter( sourceFilePath, destinationFilePath, areMultipleFilesAvailable); var dialogResult = await _dialogService.ShowDialogAsync <OverwriteOptionsDialogResult, OverwriteOptionsNavigationParameter>( nameof(OverwriteOptionsDialogViewModel), navigationParameter); if (dialogResult is null) { Task.Run(operation.CancelAsync).Forget(); } else { Task.Run(() => operation.ContinueAsync(dialogResult.Options)).Forget(); } }