public async Task FinalCopySignatureRequestTest()
        {
            string signatureRequestId = Config.CompletedSignatureRequestId;

            Func<FileResponse, Task> onStreamAvailable = async (fileResponse) =>
            {
                Assert.IsNotNull(fileResponse);
                Assert.IsNotNull(fileResponse.FileName);
                Assert.AreNotEqual(string.Empty, fileResponse.FileName);

                string filePath = Path.GetTempFileName();
                byte[] buffer = new byte[32768];
                using (FileStream fileStream = new FileStream(filePath, FileMode.Create))
                {
                    int bytesRead;
                    while ((bytesRead = fileResponse.Stream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        await fileStream.WriteAsync(buffer, 0, bytesRead);
                    }
                }

                File.Delete(filePath);
            };

            SignatureRequestFinalCopyRequest request = new SignatureRequestFinalCopyRequest(onStreamAvailable)
            {
                SignatureRequestId = signatureRequestId
            };

            await client.SignatureRequest.FinalCopyAsync(request);
        }
 public async Task FinalCopyAsync(SignatureRequestFinalCopyRequest request)
 {
     await helloSignService.MakeStreamCallbackRequestAsync(settings.HelloSignSettings.Endpoints.SignatureRequest.GetFinalCopy,
         request);
 }