}
else {
nodes.addAll(selection.getSelection());
}
final MModeController modeController = (MModeController) Controller.getCurrentModeController();
modeController.startTransaction();
for (final NodeModel node : nodes) {
try {
if (mode == ExecutionMode.ON_SELECTED_NODE_RECURSIVELY) {
// TODO: ensure that a script is invoked only once on every node?
// (might be a problem with recursive actions if parent and child