This demo shows how the graph can be restructured interactively by dragging subtrees. Every time that a node is hovered, the subtree rooted at this particular node is highlighted. When it is dragged, the ClearAreaLayout will try to create free space by pushing away the other elements of the graph so that the dragged subtree is relocated to another parent.
Related resources: ClearAreaLayout , FillAreaLayout .