@override bool undo() { final e = _tree.undo(); // If we hit the bottom of the tree if (e == null) { return false; } _snapshot = snapshot.rebuild(e.undoTo); return true; }