} // Run()

        private void RunNow()
        {
            List <Task> tasksToRun = BuildTaskList(_inputManager, _outputManager);

            foreach (Task task in tasksToRun)
            {
                _outputManager.Action(task.Name);
                task.Run();
            }
        } // RunNow()
// ParseCommandLine()



        /// <summary>
        /// Check if target directory exists. If not, it will tried to create it.
        /// Messages should help the user with problems.
        /// </summary>
        /// <param name="path">path of target directory</param>
        /// <param name="outputManager">Used to created coloured console outputs.</param>
        private static void VerifyTargetDirectory(String path, OutputManager outputManager)
        {
            if (path == null)
            {
                path = "";
            }

            // create directory
            try
            {
                Directory.CreateDirectory(path);
                Directory.SetCurrentDirectory(path);

                outputManager.Action(String.Format("Using target directory: {0} ", path));
            }
            catch (Exception e)
            {
                outputManager.Error(String.Format(
                                        "Can not use target directory {0}\n" +
                                        "Error message:  {1} ", path, e.Message));

                throw new ParseException(); // stop application
            }
        } // VerifyTargetDirectory()