public void evaluatePostAction(
     LazyObjectAccessor source, LazyObjectAccessor target, Action action, boolean sourceAction)
     throws SynchronizationException {
   if (postAction != null) {
     Map<String, Object> scope = new HashMap<String, Object>();
     scope.put("sourceAction", sourceAction);
     scope.put("action", action.name());
     scope.put("situation", situation.name());
     if (source != null) {
       scope.put("source", source.asMap());
     }
     if (target != null) {
       scope.put("target", target.asMap());
     }
     try {
       postAction.exec(scope);
     } catch (ScriptException se) {
       LOGGER.debug("action script encountered exception", se);
       throw new SynchronizationException(se);
     }
   }
 }