@Override public void undo() throws CannotUndoException { if (node != null) { node.getDataMapNames().remove(map.getName()); mediator.fireDataNodeEvent(new DataNodeEvent(this, node)); } if (!unlinkedNodes.isEmpty()) { for (DataNodeDescriptor unlinkedNode : unlinkedNodes) { unlinkedNode.getDataMapNames().add(map.getName()); mediator.fireDataNodeEvent(new DataNodeEvent(this, unlinkedNode)); } } }