public static bool Run(string pattern)
        {
            lock (m_Handlers.SyncRoot)
            {
                foreach (object o in m_Handlers)
                {
                    CronEventEntry cee = o as CronEventEntry;
                    if (cee == null)
                    {
                        continue;
                    }

                    if (pattern.ToLower() == cee.Name.ToLower())
                    {
                        try
                        {                           // call as a foreground process
                            cee.Handler();
                        }
                        catch (Exception ex)
                        {
                            LogHelper.LogException(ex);
                            Console.WriteLine("Exception caught in User Code: {0}", ex.Message);
                            Console.WriteLine(ex.StackTrace);
                        }

                        return(true);
                    }
                }
            }

            return(false);
        }
        }         // CronProcess()

        private static void CronProcess(CronEventEntry cee)
        {
            if (cee == null)
            {
                return;
            }

            try
            {
                // run the user code
                if (cee.Running == false)
                {
                    Console.WriteLine("Skipping queued Job {0} because it was killed", cee.Name);
                }
                else
                {
                    // okay, run the scheduled task.
                    Utility.TimeCheck tc = new Utility.TimeCheck();
                    Console.Write("{0}: ", cee.Name);
                    tc.Start();                                                 // track the toal time for [lag forensics
                    cee.Handler();                                              // execute the next task in the queue
                    tc.End();
                    AuditTask(cee, tc);                                         // maintain our list of 5 most recent tasks
                }
            }
            catch (Exception ex)
            {
                LogHelper.LogException(ex);
                Console.WriteLine("Exception caught in scheduled task: {0}", ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
        }
		} // CronProcess()

		private static void CronProcess(CronEventEntry cee)
		{
			if (cee == null) return;

			try
			{
				// run the user code                               
				if (cee.Running == false)
					Console.WriteLine("Skipping queued Job {0} because it was killed", cee.Name);
				else
				{
					// okay, run the scheduled task.
					Utility.TimeCheck tc = new Utility.TimeCheck();
					Console.Write("{0}: ", cee.Name);
					tc.Start();					// track the toal time for [lag forensics
					cee.Handler();				// execute the next task in the queue
					tc.End();
					AuditTask(cee,tc);			// maintain our list of 5 most recent tasks
				}
			}
			catch (Exception ex)
			{
				LogHelper.LogException(ex);
				Console.WriteLine("Exception caught in scheduled task: {0}", ex.Message);
				Console.WriteLine(ex.StackTrace);
			}
		}