code: @Override
      public boolean apply(Model i) {
          return applyEvents(Hook.PRE, i) && applyAction(i) && applyEvents(Hook.POST, i);
      }
docs: Apply the action on a model.
  In practice, the events attached to {@link Hook#PRE} are executed in first,
  then {@link #applyAction(org.btrplace.model.Model)} is called. Finally,
  the events attached to {@link Hook#POST} are executed.
  
  @param i the instance to alter with the action
  @return {@code true} if the action and all the events were applied successfully