std::shared_ptr<DocumentTree> a1 (new DocumentTree("Child a1"));
std::shared_ptr<DocumentTree> a2 (new DocumentTree("Child a2"));
std::shared_ptr<DocumentTree> a1 (new DocumentTree("Child a1"));
std::shared_ptr<DocumentTree> a2 (new DocumentTree("Child a2"));