@Override public void redo() throws CannotRedoException { super.redo(); if (imageEdit != null) { imageEdit.redo(); } if (translationEdit != null) { translationEdit.redo(); } // it is important to redo the canvas change edit // after the image and translation edits because // of the image covers canvas checks if (canvasChangeEdit != null) { canvasChangeEdit.redo(); } if (selectionChangeEdit != null) { selectionChangeEdit.redo(); } if (deselectEdit != null) { deselectEdit.redo(); } updateGUI(); }