Returns an alternate UndoController object.
The default implementation of this function always returns a null SmartPointer.
Each database requires at most 2 undo controllers (for undo and redo).