public void Practice(string[] args)
        {
            var task = Task.Run(() => GetDateTime());
            var continuationTasks = new List <Task <DateTime> >();

            Enumerables.For(1, 10, i =>
            {
                var utf32 = 'A' - 1 + i;
                Thread.Sleep(200);
                task = task.ContinueWith((x, y) => GetDateTime(), new Person {
                    Id = i, Name = $"{(char)(utf32)}{(char)(utf32 + 1)}{(char)(utf32 + 2)}{(char)(utf32 + 3)}{(char)(utf32 + 4)}{i}"
                });
                continuationTasks.Add(task);
            });
            task.Wait();

            continuationTasks.ForEach(c =>
            {
                var person = c.AsyncState as Person;
                Console.WriteLine($"Task finished at {c.Result}. {person}");
            });
        }