/// <summary>
        /// Call the registered listeners in order, respecting and prioritising those
        /// that hold an order metadata information.
        /// </summary>
        /// <param name="jobExecution"></param>
        public void BeforeJob(JobExecution jobExecution)
        {
            IEnumerator <IJobExecutionListener> enumerator = _listeners.Enumerator();

            while (enumerator.MoveNext())
            {
                IJobExecutionListener jobExecutionListener = enumerator.Current;
                jobExecutionListener.BeforeJob(jobExecution);
            }
        }