public static void RunRandomMethods(Object obj)
        {
            var traceContext        = (TraceContext)obj;
            var testMethodRunner    = new TestMethods();
            var nextAdditionalDelay = Rnd.Next(0, 1001);
            var nextMethod          = Rnd.Next(0, 3);

            while (InProgress)
            {
                switch (nextMethod)
                {
                case 0:
                    testMethodRunner.Test1000(traceContext, nextAdditionalDelay);
                    break;

                case 1:
                    testMethodRunner.Test2000(traceContext, nextAdditionalDelay);
                    break;

                case 2:
                    testMethodRunner.Test3000(traceContext, nextAdditionalDelay);
                    break;
                }
            }
        }
        public static void MeasureMultipleCalls()
        {
            var traceContext     = new TraceContext();
            var testMethodRunner = new TestMethods();

            testMethodRunner.Test1000(traceContext, 100);
            testMethodRunner.Test1000(traceContext, 200);
            testMethodRunner.Test1000(traceContext, 300);

            Console.WriteLine(traceContext.ToString());
        }