public async Task SaveOneDriveItemToFileAsync(string targetFilePath, string restoreSessionId, string oneDriveId, CancellationToken ct = default)
        {
            ParameterValidator.ValidateNotNull(targetFilePath, nameof(targetFilePath));
            ParameterValidator.ValidateNotNull(restoreSessionId, nameof(restoreSessionId));
            ParameterValidator.ValidateNotNull(oneDriveId, nameof(oneDriveId));

            var bodyParameters = new BodyParameters()
                                 .AddNullParameter("save");

            var url = $"restoresessions/{restoreSessionId}/organization/onedrives/{oneDriveId}/action";
            await _baseClient.DownloadToFilePostAsync(targetFilePath, url, bodyParameters, ct);
        }
        public async Task SaveMailboxToPstFileAsync(string targetFilePath, string restoreSessionId, string mailboxId, CancellationToken ct = default)
        {
            ParameterValidator.ValidateNotNull(targetFilePath, nameof(targetFilePath));
            ParameterValidator.ValidateNotNull(restoreSessionId, nameof(restoreSessionId));
            ParameterValidator.ValidateNotNull(mailboxId, nameof(mailboxId));

            var action = new
            {
                EnablePstSizeLimit = false
            };

            var bodyParameters = new BodyParameters()
                                 .AddMandatoryParameter("exportToPst", action);

            var url = $"restoresessions/{restoreSessionId}/organization/mailboxes/{mailboxId}/action";
            await _baseClient.DownloadToFilePostAsync(targetFilePath, url, bodyParameters, ct);
        }