public void Run()
            {
                if (!String.IsNullOrEmpty(Action.OutputPrefix))
                {
                    LogLines.Add(Action.OutputPrefix);
                }

                using (ManagedProcess Process = new ManagedProcess(Action.ToolPath, Action.ToolArguments, Action.WorkingDirectory, Action.Environment, null, ManagedProcessPriority.BelowNormal))
                {
                    LogLines.AddRange(Process.ReadAllLines());
                    ExitCode = Process.ExitCode;
                }

                lock (CompletedActions)
                {
                    CompletedActions.Add(this);
                }

                CompletedEvent.Set();
            }
			public void Run()
			{
				if(!String.IsNullOrEmpty(Action.OutputPrefix))
				{
					LogLines.Add(Action.OutputPrefix);
				}

				using(ManagedProcess Process = new ManagedProcess(Action.ToolPath, Action.ToolArguments, Action.WorkingDirectory, Action.Environment, null, ManagedProcessPriority.BelowNormal))
				{
					LogLines.AddRange(Process.ReadAllLines());
					ExitCode = Process.ExitCode;
				}

				lock(CompletedActions)
				{
					CompletedActions.Add(this);
				}

				CompletedEvent.Set();
			}