code: func (kz *Kazoo) deleteRecursive(node string) (err error) {
  	children, stat, err := kz.conn.Children(node)
  	if err == zk.ErrNoNode {
  		return nil
  	} else if err != nil {
  		return
  	}
  
  	for _, child := range children {
  		if err = kz.deleteRecursive(path.Join(node, child)); err != nil {
  			return
  		}
  	}
  
  	return kz.conn.Delete(node, stat.Version)
  }
docs: // DeleteAll deletes a node recursively