While I'm implementing the validateChildNode()
methods, I would also like to work on removing the
AddLMVisitor visitor pattern, and revert to our
previous method of having the FO's themselves setup
the LayoutManagers via addLayoutManager(). (See here
 for examples of the previous way of a year
I would consider that a small step backwards because I liked the seperation between the FO tree and the LM tree. But I have no great love for the AddLMVisitor so I wouldn't mind at all if it disappeared.
But instead of putting all the LM strategy code into the FO tree classes, I would suggest that the creation of the LM tree are done with a "LayoutManagerMapping" and a series of "Maker" classes, one for each FO class.
I'll upload a patch to demonstrate the idea.