func (n *routeNode) findChild(nn *routeNode) *routeNode {
	for _, c := range n.children {
		if c.path == nn.path {
			// same node
			return c
		}
	}
	return nil
}
func (n *routeNode) findChild(nn *routeNode) *routeNode {
	for _, c := range n.children {
		if c.path == nn.path {
			// same node
			return c
		}
	}
	return nil
}
// findChild finds a child node that matches the given node
// It returns nil if no node found. This is to see if
// we already have a similar node registered