// If this is an editable task that has been started, completed or skipped save the editor state
if (task instanceof IEditableTask && task.getState() != ICompositeCheatSheetTask.NOT_STARTED) {
TaskEditor editor = getEditor(task);
if (editor != null) {
IMemento taskDataMemento = childMemento.createChild(ICompositeCheatsheetTags.TASK_DATA);
editor.saveState(taskDataMemento);
} else {
// The editor has not been started so save its previously loaded state
IMemento taskData = getTaskMemento(task.getId());
if (taskData != null) {
IMemento previousDataMemento = childMemento.createChild(ICompositeCheatsheetTags.TASK_DATA);