private static async Task FileTransferProgressBars()
        {
            const long fileSize = (long)(8 * FileSize.OneKB);
            var        pb4      = new FileTransferProgressBar(fileSize, TimeSpan.FromSeconds(5))
            {
                ForegroundColor   = ConsoleColor.Green,
                NumberOfBlocks    = 15,
                StartBracket      = "|",
                EndBracket        = "|",
                CompletedBlock    = "|",
                IncompleteBlock   = "\u00a0",
                AnimationSequence = UniversalProgressAnimations.PulsingLine
            };

            await TestFileTransferProgressBar(pb4, fileSize, 4);

            const long fileSize2 = (long)(100 * 36 * FileSize.OneMB);
            var        pb5       = new FileTransferProgressBar(fileSize2, TimeSpan.FromSeconds(5))
            {
                ForegroundColor  = ConsoleColor.Green,
                DisplayBars      = false,
                DisplayAnimation = false
            };

            pb5.FileTransferStalled += HandleFileTransferStalled;
            await TestFileTransferStalled(pb5, fileSize2, 5);
        }
        private static async Task TestFileTransferStalled(FileTransferProgressBar progress, long fileSize, int num)
        {
            Console.Write($"{num}. File transfer in progress... ");
            using (progress)
            {
                for (var i = 0; i <= 110; i++)
                {
                    progress.BytesReceived = i * (fileSize / 1000);
                    progress.Report((double)i / 1000);
                    await Task.Delay(2);
                }

                await Task.Delay(6000);
            }
        }
        private static async Task TestFileTransferProgressBar(FileTransferProgressBar progress, long fileSize, int num)
        {
            Console.Write($"{num}. File transfer in progress... ");
            using (progress)
            {
                for (var i = 0; i <= 150; i++)
                {
                    progress.BytesReceived = i * (fileSize / 150);
                    progress.Report((double)i / 150);
                    await Task.Delay(20);
                }

                progress.BytesReceived = fileSize;
                progress.Report(1);
                await Task.Delay(200);
            }

            Console.WriteLine();
        }