The per-workbook UndoManager — published by WorkbookElement (which owns it, over its
workbook's transactions) and read by the sheet's transactional middleware (in
SheetCommandProvider) so its F4-repeat (setRepeatableOperation) and the redo command
(redo()) act on the same instance. One manager per live workbook (the double-buffer needs this),
shared down to the sheet layer rather than duplicated.
null outside a command tree (a bare chromeless grid) — the middleware then simply disables repeat.
The per-workbook UndoManager — published by
WorkbookElement(which owns it, over its workbook's transactions) and read by the sheet's transactional middleware (in SheetCommandProvider) so its F4-repeat (setRepeatableOperation) and theredocommand (redo()) act on the same instance. One manager per live workbook (the double-buffer needs this), shared down to the sheet layer rather than duplicated.nulloutside a command tree (a bare chromeless grid) — the middleware then simply disables repeat.