Make swap{Node,Datum,Link} virtual functions in UndoCommand