code: func (a *authorizationPlugin) initPlugin() error {
  	// Lazy loading of plugins
  	a.once.Do(func() {
  		if a.plugin == nil {
  			var plugin plugingetter.CompatPlugin
  			var e error
  
  			if pg := GetPluginGetter(); pg != nil {
  				plugin, e = pg.Get(a.name, AuthZApiImplements, plugingetter.Lookup)
  				a.SetName(plugin.Name())
  			} else {
  				plugin, e = plugins.Get(a.name, AuthZApiImplements)
  			}
  			if e != nil {
  				a.initErr = e
  				return
  			}
  			a.plugin = plugin.Client()
  		}
  	})
  	return a.initErr
  }
docs: // initPlugin initializes the authorization plugin if needed