@Override
  public void undo() {
    super.undo();

    if (element != null) {
      //			System.out.println("Undoing = "+element);
      project.getEditingDomain().getCommandStack().undo();
      ProjectBrowser.frame.getDiagramManager().updateOLEDFromDeletion(element);
    }

    if (addToDiagram && diagramElement != null) {
      parent.removeChild(diagramElement);
      ModelHelper.removeMapping(diagramElement);
    }

    if (notification != null) {
      List<DiagramElement> elements = new ArrayList<DiagramElement>();
      elements.add(diagramElement);
      notification.notifyChange(elements, ChangeType.ELEMENTS_ADDED, NotificationType.UNDO);
    }
  }