public void StartPartyInAnotherDimension(object input)
        {
            DimensionTester currentDimensionInput = (DimensionTester)input;

            Console.WriteLine("let the party begin");
            while (currentDimensionInput.shouldPartyContinue)
            {
            }
            Console.WriteLine("Party ends :(");
        }
        public void VolatileExample()
        {
            // 8.volatile example
            DimensionTester firstDimension  = new DimensionTester();
            Thread          secondDimension = new Thread(firstDimension.StartPartyInAnotherDimension);

            secondDimension.Start(firstDimension);
            Thread.Sleep(5000);
            firstDimension.shouldPartyContinue = false;
            Console.WriteLine("Party Grand Finish");
        }