static void DoWork(object state)
        {
            ScheduleActionItemAsyncResult thisPtr = (ScheduleActionItemAsyncResult)state;
            Exception completionException         = null;

            try
            {
                thisPtr.OnDoWork();
            }
            catch (Exception ex)
            {
                if (Fx.IsFatal(ex))
                {
                    throw;
                }
                completionException = ex;
            }

            thisPtr.Complete(false, completionException);
        }
        private static void DoWork(object state)
        {
            ScheduleActionItemAsyncResult scheduleActionItemAsyncResult = (ScheduleActionItemAsyncResult)state;
            Exception exception = null;

            try
            {
                scheduleActionItemAsyncResult.OnDoWork();
            }
            catch (Exception exception2)
            {
                Exception exception1 = exception2;
                if (!Fx.IsFatal(exception1))
                {
                    exception = exception1;
                }
                else
                {
                    throw;
                }
            }
            scheduleActionItemAsyncResult.Complete(false, exception);
        }