Excellent, Jian, thanks. Perhaps UndoManager's add/remove methods should mention this?
Also, the sample provided does not include an example of inheriting from the OperationBase class. Rather, it uses the provided operations from the Editing realm (Add, Cut, Update, Union, Delete). Any chance of getting a sample showing an Operation built by inheriting from OperationBase?