            child.generate_tree_recursive(level + 1, lines);
        }
    }

    fn generate_details(&self, lines: &mut Vec<String>) {
        self.generate_details_recursive("", lines);
    }

    fn generate_details_recursive(&self, prefix: &str, lines: &mut Vec<String>) {
        let moniker = format!("{}{}:{}", prefix, self.name, self.id);