code: func NewFilteredClusterRoleInformer(client kubernetes.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
  	return cache.NewSharedIndexInformer(
  		&cache.ListWatch{
  			ListFunc: func(options metav1.ListOptions) (runtime.Object, error) {
  				if tweakListOptions != nil {
  					tweakListOptions(&options)
  				}
  				return client.RbacV1().ClusterRoles().List(options)
  			},
  			WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) {
  				if tweakListOptions != nil {
  					tweakListOptions(&options)
  				}
  				return client.RbacV1().ClusterRoles().Watch(options)
  			},
  		},
  		&rbacv1.ClusterRole{},
  		resyncPeriod,
  		indexers,
  	)
  }
docs: // NewFilteredClusterRoleInformer constructs a new informer for ClusterRole type.
  // Always prefer using an informer factory to get a shared informer instead of getting an independent
  // one. This reduces memory footprint and number of connections to the server.