func CollectTags(tree *Tree) []string {
	collection := []string{}
	for _, l := range tree.Leaves {
		collection = append(collection, l.Tag)
	}
	for _, b := range tree.Branches {
		lowerCollection := CollectTags(b)
		collection = append(collection, lowerCollection...)
	}
	return collection
}
//CollectTags traverses tree and collects all tags in string slice
CollectTags traverses tree and collects all tags in string slice
// CollectTags traverses tree and collects all tags in string slice
func CollectTags(tree *Tree) []string {
	collection := []string{}
	for _, l := range tree.Leaves {
		collection = append(collection, l.Tag)
	}
	for _, b := range tree.Branches {
		lowerCollection := CollectTags(b)
		collection = append(collection, lowerCollection...)
	}
	return collection
}
func CollectTags ( tree * Tree ) [ ] string { collection := [ ] string { } for _ , l := range tree . Leaves { collection = append ( collection , l . Tag ) } for _ , b := range tree . Branches { lowerCollection := CollectTags ( b ) collection = append ( collection , lowerCollection ... ) } return collection }
CollectTags traverses tree and collects all tags in string slice
CollectTags traverses tree and collects all tags in string slice