code: function mxUndoableEdit(source, significant)
  {
  	this.source = source;
  	this.changes = [];
  	this.significant = (significant != null) ? significant : true;
  }
docs: Copyright (c) 2006-2015, JGraph Ltd
  Copyright (c) 2006-2015, Gaudenz Alder
   
  Class: mxUndoableEdit
  
  Implements a composite undoable edit. Here is an example for a custom change
  which gets executed via the model:
  
  (code)
  function CustomChange(model, name)
  {
  this.model = model;
  this.name = name;
  this.previous = name;
  };
  
  CustomChange.prototype.execute = function()
  {
  var tmp = this.model.name;
  this.model.name = this.previous;
  this.previous = tmp;
  };
  
  var name = prompt('Enter name');
  graph.model.execute(new CustomChange(graph.model, name));
  (end)
  
  Event: mxEvent.EXECUTED
  
  Fires between START_EDIT and END_EDIT after an atomic change was executed.
  The <code>change</code> property contains the change that was executed.
  
  Event: mxEvent.START_EDIT
  
  Fires before a set of changes will be executed in <undo> or <redo>.
  This event contains no properties.
  
  Event: mxEvent.END_EDIT
  
  Fires after a set of changeswas executed in <undo> or <redo>.
  This event contains no properties.
  
  Constructor: mxUndoableEdit
  
  Constructs a new undoable edit for the given source.