code: func NewClusterRoleAggregation(clusterRoleInformer rbacinformers.ClusterRoleInformer, clusterRoleClient rbacclient.ClusterRolesGetter) *ClusterRoleAggregationController {
  	c := &ClusterRoleAggregationController{
  		clusterRoleClient:  clusterRoleClient,
  		clusterRoleLister:  clusterRoleInformer.Lister(),
  		clusterRolesSynced: clusterRoleInformer.Informer().HasSynced,
  
  		queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "ClusterRoleAggregator"),
  	}
  	c.syncHandler = c.syncClusterRole
  
  	clusterRoleInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
  		AddFunc: func(obj interface{}) {
  			c.enqueue()
  		},
  		UpdateFunc: func(old, cur interface{}) {
  			c.enqueue()
  		},
  		DeleteFunc: func(uncast interface{}) {
  			c.enqueue()
  		},
  	})
  	return c
  }
docs: // NewClusterRoleAggregation creates a new controller