static void Main(string[] args)
        {
            ServicePointManager.UseNagleAlgorithm = false;

            Console.WriteLine(HeadingInfo);

            var options = new Options();

            var parser = new CommandLineParser(new CommandLineParserSettings(Console.Error));

            if (!parser.ParseArguments(args, options))
            {
                Environment.Exit(1);
            }

            var client = new RestClient
                {
                    Authenticator = new HttpBasicAuthenticator(options.UserName, options.Password)
                };

            Root root = client.GetRoot(options.Server);

            Organisation org = client.GetOrganisation(root);

            Stopwatch watch = Stopwatch.StartNew();

            CreateAllRelationships(client, root, options, org);

            Console.WriteLine("Completed in {0} - press enter to exit.", watch.Elapsed);

            Console.ReadLine();

            Environment.Exit(0);
        }
        static void Main(string[] args)
        {
            ServicePointManager.UseNagleAlgorithm = false;

            Console.WriteLine(HeadingInfo);

            var options = new Options();

            var parser = new CommandLineParser(new CommandLineParserSettings(Console.Error));

            if (!parser.ParseArguments(args, options))
            {
                Environment.Exit(1);
            }

            var client = new RestClient
                {
                    Authenticator = new HttpBasicAuthenticator(options.UserName, options.Password)
                };

            Root root = client.GetRoot(options.Server);

            SystemInfo systemInfo = client.GetSystemInfo(root);

            Project project = GetProject(client, root, options);

            Package scriptPackage = FindOrCreateScriptPackage(client, root, project, options, systemInfo);

            AutomatedTest automatedTest = FindOrCreateAutomatedTest(client, root, scriptPackage, options);

            Package executionPackage = FindOrCreateExecutionPackage(client, root, project, options, systemInfo);

            AutomatedTestAssignment automatedTestAssignment = FindOrCreateAutomatedTestAssignment(client, root, executionPackage, automatedTest);

            IRestResponse<BackgroundTask> progress = StartUploadResults(automatedTestAssignment, options, client);

            PollTaskProgress(client, progress);

            Environment.Exit(0);
        }