public static int Main(string[] args)
        {
            Console.WriteLine("logMe the args are : " + args.ToString());
            Console.WriteLine("Parallel Test Execution Command Line Tool Version " + Assembly.GetCallingAssembly().GetName().Version.ToString());


            ITestRunnerArgs testArgs = argsFactory.ParseArgs(args);

            Console.WriteLine("logMe the testargs are : " + testArgs.ToString());
            if (!testArgs.IsValid())
            {
                PrintHelp();
                return(1);
            }

            Console.WriteLine("logMe:  Starting test execution, please wait...");

            IContainer container = AutofacContainer.RegisterTypes(testArgs);

            Console.WriteLine("logMe: IContainer container = AutofacContainer.RegisterTypes(testArgs); the contatier is : " + container.ToString() + "   and the test args are : " + testArgs.ToString());
            container.Resolve <IStopwatch>().Start();
            Console.WriteLine("Starting container.Resolve<IStopwatch>().Start();");

            int resultCode = 2;

            using (container.BeginLifetimeScope())
            {
                ITestRunner testRunner = container.Resolve <ITestRunner>();
                Console.WriteLine("finish container.Resolve<IStopwatch>().Start();");

                Console.WriteLine("testArgs.filterCategory" + testArgs.filterCategory);
                Console.WriteLine("estArgs.filterMode" + testArgs.filterMode);

                testRunner.Parse(testArgs.filterMode, testArgs.filterCategory, testArgs.filterCategories);
                Console.WriteLine("finish  testRunner.Parse(testArgs.filterMode, testArgs.filterCategory);");
                testRunner.Execute();
                Console.WriteLine("finish  testRunner.Execute();");
                testRunner.WriteTrx();
                Console.WriteLine("finish testRunner.WriteTrx(); ");
                testRunner.Clean();
                Console.WriteLine("finish testRunner.Clean();");
                resultCode = testRunner.ResultCode;
                Console.WriteLine("finish  resultCode = testRunner.ResultCode;");
            }
            Console.WriteLine("finish  resukt code is");
            return(resultCode);
        }