/// <summary>
        /// Main job Loader method, it loads the job corresponding to the xml file and
        /// stores it in the unity container.
        /// </summary>
        /// <param name="unityContainer"></param>
        /// <param name="xmlJob"></param>
        public void LoadJob(IUnityContainer unityContainer, XmlJob xmlJob)
        {
            JobBuilder jobBuilder = new JobBuilder(xmlJob.Id);

            jobBuilder.Repository(unityContainer.Resolve <IJobRepository>());
            jobBuilder.Incrementer(unityContainer.Resolve <IJobParametersIncrementer>());
            if ("false".Equals(xmlJob.Restartable))
            {
                jobBuilder.PreventRestart();
            }
            if (xmlJob.Listeners != null)
            {
                foreach (var listener in xmlJob.Listeners.Listeners)
                {
                    jobBuilder.Listener(unityContainer.Resolve <IJobExecutionListener>(listener.Ref));
                }
            }
            MapXmlElements(unityContainer, xmlJob);

            IJob job = LoadJob(xmlJob, jobBuilder);

            unityContainer.RegisterInstance(xmlJob.Id, job);
        }