@Override
		public void execute()
		{
			if (removed != null)
			{
				Iterator<Object> it = removed.iterator();

				while (it.hasNext())
				{
					model.cellRemoved(it.next());
				}
			}

			if (added != null)
			{
				Iterator<Object> it = added.iterator();

				while (it.hasNext())
				{
					model.cellAdded(it.next());
				}
			}

			Collection<Object> tmp = added;
			added = removed;
			removed = tmp;
			model.fireEvent(new mxEventObject(mxEvent.CHANGE, "added", added,
					"removed", removed));
		}