final Object targetObject = bookmarkService.lookup(targetBookmark);
final ObjectAdapter targetAdapter = adapterFor(targetObject);
final ObjectSpecification specification = targetAdapter.getSpecification();
final ObjectAction objectAction = findAction(specification, actionId);
if(objectAction == null) {
throw new Exception("Unknown action '" + actionId + "'");
}
final ObjectAdapter[] argAdapters = argAdaptersFor(aim);
final ObjectAdapter resultAdapter = objectAction.execute(targetAdapter, argAdapters);
if(resultAdapter != null) {
Bookmark resultBookmark = CommandUtil.bookmarkFor(resultAdapter);
command.setResult(resultBookmark);
}