public override void Execute(PvmExecutionImpl execution)
        {
            var scope = GetScope(execution);
            var executionListenerIndex = execution.ListenerIndex;
            var executionListeners     = scope.GetListeners(EventName);

            foreach (var listener in executionListeners)
            {
                execution.EventName   = EventName;
                execution.EventSource = scope;
                //try
                //{
                execution.InvokeListener(listener);
                //}
                //catch (Exception e)
                //{
                //    throw e;
                //}
                //catch (Exception e)
                //{
                //    throw new PvmException("couldn't execute event listener : " + e.Message, e);
                //}
                executionListenerIndex += 1;
                execution.ListenerIndex = executionListenerIndex;
            }
            execution.ListenerIndex = 0;
            execution.EventName     = null;
            execution.EventSource   = null;

            EventNotificationsCompleted(execution);
        }