code: func (n *Node) Kites() (Kites, error) {
  	// Get all nodes recursively.
  	nodes := n.Flatten()
  
  	// Convert etcd nodes to kites.
  	var err error
  	kites := make(Kites, len(nodes))
  	for i, n := range nodes {
  		kites[i], err = n.Kite()
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	return kites, nil
  }
docs: // Kites returns a list of kites that are gathered by collecting recursively
  // all nodes under the current node.