a3.get()->add_child (a4.get());
a1.get()->add_child (a2.get());
a1.get()->add_child (a3.get());
tree.get()->add_child (a1.get());
std::cout << a3.get()->stub_hierarchy () << a3.get()->get_stub () << std::endl;
tree.get()->visualize_tree ();
a3.get()->add_child (a4.get());
a1.get()->add_child (a2.get());
a1.get()->add_child (a3.get());
tree.get()->add_child (a1.get());
std::cout << a3.get()->stub_hierarchy () << a3.get()->get_stub () << std::endl;
tree.get()->visualize_tree ();