ActionRecording works, thanks.
But another issue is here:
if I start the composite command and then I modify one tableNode in this way
node.DeleteRow(pos);
node.InsertRow(row);
node[0, row].Image = someimage;
node[0, row].ImageAlign = ImageAlign.Center;
node[1, row].Text = somestring;
node[1, row].Tag = sometag;
node[1, row].ToolTip = somestring;
Then calling undo causes, that the node loses it's treelike hierarchy - it became flat ???.
And then, if I call Redo, the created row is recreated, but it's empty.
Maybe some actions are not recorded into Undo, but is there an easy way, how to fix it?