code: func NewIndexerInformer(
  	lw ListerWatcher,
  	objType runtime.Object,
  	resyncPeriod time.Duration,
  	h ResourceEventHandler,
  	indexers Indexers,
  ) (Indexer, Controller) {
  	// This will hold the client state, as we know it.
  	clientState := NewIndexer(DeletionHandlingMetaNamespaceKeyFunc, indexers)
  
  	return clientState, newInformer(lw, objType, resyncPeriod, h, clientState)
  }
docs: // NewIndexerInformer returns a Indexer and a controller for populating the index
  // while also providing event notifications. You should only used the returned
  // Index for Get/List operations; Add/Modify/Deletes will cause the event
  // notifications to be faulty.
  //
  // Parameters:
  //  * lw is list and watch functions for the source of the resource you want to
  //    be informed of.
  //  * objType is an object of the type that you expect to receive.
  //  * resyncPeriod: if non-zero, will re-list this often (you will get OnUpdate
  //    calls, even if nothing changed). Otherwise, re-list will be delayed as
  //    long as possible (until the upstream source closes the watch or times out,
  //    or you stop the controller).
  //  * h is the object you want notifications sent to.
  //  * indexers is the indexer for the received object type.
  //