pub trait CollectNode<T: Debug + Clone, I: CompareNode<T>> {
// Required methods
fn collect_siblings(&self, ident: &I) -> NodeCollection<T>;
fn collect_children(&self, ident: &I) -> NodeCollection<T>;
fn collect_linked_list(&self, ident: &I) -> NodeCollection<T>;
}