@Override
 public void redo() {
   Assert.isTrue(diagramData.getLabel() != null);
   diagramLabel.setDiagramData(null);
   diagramData.getLocations().remove(diagramLabel.getDiagramLocation());
 }
 @Override
 public void undo() {
   Assert.isTrue(diagramData.getLabel() == null);
   diagramData.getLocations().add(i, diagramLabel.getDiagramLocation());
   diagramLabel.setDiagramData(diagramData);
 }
 @Override
 public void execute() {
   diagramLabel = diagramData.getLabel();
   i = diagramData.getLocations().indexOf(diagramLabel.getDiagramLocation());
   redo();
 }