code: func (p *Parameter) findParam(idx int) (string, error) {
  	index := len(p.names) - 1
  	urlPath := p.path
  	pathLen := len(p.path)
  	node := p.node
  
  	for node != nil {
  		if node.text[0] == ':' {
  			ctn := lastIndexByte(urlPath, '/')
  			if ctn == -1 {
  				return "", fmt.Errorf("Parameter not found")
  			}
  			pathLen = ctn + 1
  			if index == idx {
  				return urlPath[pathLen:], nil
  			}
  			index--
  		} else {
  			pathLen -= len(node.text)
  		}
  		urlPath = urlPath[0:pathLen]
  		node = node.parent
  	}
  	return "", fmt.Errorf("Parameter not found")
  }
docs: //findParam walks up the matched node looking for parameters returns the last parameter