code: func (m *subMenu) SubMenu(indexes ...int) (s *SubMenu, err error) {
  	var is = m
  	var processedIndexes = []string{}
  	for _, index := range indexes {
  		if index >= len(is.items) {
  			return nil, fmt.Errorf("Submenu at %s has %d items, invalid index %d", strings.Join(processedIndexes, ":"), len(is.items), index)
  		}
  		s = is.items[index].s
  		processedIndexes = append(processedIndexes, strconv.Itoa(index))
  		if s == nil {
  			return nil, fmt.Errorf("No submenu at %s", strings.Join(processedIndexes, ":"))
  		}
  		is = s.subMenu
  	}
  	return
  }
docs: // SubMenu returns the sub menu at the specified indexes