public string DeadlockExample_FixUsingTaskRun()
        {
            var deadlockExample = new DeadlockExample();

            var goodMessage = deadlockExample.GetSomethingAsync_UsingTaskAndDotResult(); // this is now synchronous and doesn't deadlock

            return(goodMessage);
        }
        public string DeadlockExample()
        {
            var deadlockExample = new DeadlockExample();

            var badMessage = deadlockExample.GetSomethingAsync_BadDotResult(); // this will never return

            return(badMessage);
        }