code: func newSubMenu(parentCtx context.Context, rootID string, items []*MenuItemOptions, c *asticontext.Canceller, d *dispatcher, i *identifier, w *writer) *subMenu {
  	// Init
  	var m = &subMenu{
  		object: newObject(parentCtx, c, d, i, w, i.new()),
  		rootID: rootID,
  	}
  
  	// Parse items
  	for _, o := range items {
  		m.items = append(m.items, newMenuItem(m.ctx, rootID, o, c, d, i, w))
  	}
  	return m
  }
docs: // newSubMenu creates a new sub menu