code: public void fireAction(Action a) {
  
          for (Event e : a.getEvents(Action.Hook.PRE)) {
              e.visit(notificationDispatcher);
          }
          a.visit(notificationDispatcher);
  
          for (Event e : a.getEvents(Action.Hook.POST)) {
              e.visit(notificationDispatcher);
          }
      }
docs: Propagate the action to every listener added by
  {@link #addEventCommittedListener(EventCommittedListener)}.
  Events hooked on {@link org.btrplace.plan.event.Action.Hook#PRE} are propagated in first
  Then the real action is propagated. Finally, events hooked on {@link org.btrplace.plan.event.Action.Hook#POST}
  are propagated
  
  @param a the event to propagate