public override void Redo(GraphicsList list) { // Delete from list all objects kept in cloneList int n = list.Count; for ( int i = n - 1; i >= 0; i-- ) { bool toDelete = false; DrawObject objectToDelete = list[i]; foreach(DrawObject o in cloneList) { if ( objectToDelete.ID == o.ID ) { toDelete = true; break; } } if ( toDelete ) { list.RemoveAt(i); } } }