+void DumpTree::append_subtree(const vector<Branch> &branches)
+{
+ begin_sub();
+ for(vector<Branch>::const_iterator i=branches.begin(); i!=branches.end(); )
+ {
+ vector<Branch>::const_iterator j = increment(i, branches);
+ if(!j->text.empty())
+ {
+ if(j->node)
+ annotated_branch(j->text, *j->node);
+ else
+ append(j->text);
+ }
+ else
+ j->node->visit(*this);
+ }
+ end_sub();
+}
+