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