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); }