FindRoots called multiple times in Virtual Tree

TreeLayout automatically resets the Roots property to be an empty collection after each layout. This way there cannot accidentally be any invalid nodes as a root.

I’m not sure why the tree layout is being called more than once. It could be because of the DiagramLayout.Conditions you have set. How is the other layout in the MultiLayout declared? And for that matter, how is the VirtualizingTreeLayout declared?