public Object[] getRemovedCellsForChanges(List<mxUndoableChange> changes)
	{
		List<Object> result = new ArrayList<Object>();
		Iterator<mxUndoableChange> it = changes.iterator();

		while (it.hasNext())
		{
			Object change = it.next();

			if (change instanceof mxRootChange)
			{
				break;
			}
			else if (change instanceof mxChildChange)
			{
				mxChildChange cc = (mxChildChange) change;

				if (cc.getParent() == null)
				{
					result.addAll(mxGraphModel.getDescendants(model,
							cc.getChild()));
				}
			}
			else if (change instanceof mxVisibleChange)
			{
				Object cell = ((mxVisibleChange) change).getCell();
				result.addAll(mxGraphModel.getDescendants(model, cell));
			}
		}

		return result.toArray();
	}