code: func (ctrl *PersistentVolumeController) initializeCaches(volumeLister corelisters.PersistentVolumeLister, claimLister corelisters.PersistentVolumeClaimLister) {
  	volumeList, err := volumeLister.List(labels.Everything())
  	if err != nil {
  		klog.Errorf("PersistentVolumeController can't initialize caches: %v", err)
  		return
  	}
  	for _, volume := range volumeList {
  		volumeClone := volume.DeepCopy()
  		if _, err = ctrl.storeVolumeUpdate(volumeClone); err != nil {
  			klog.Errorf("error updating volume cache: %v", err)
  		}
  	}
  
  	claimList, err := claimLister.List(labels.Everything())
  	if err != nil {
  		klog.Errorf("PersistentVolumeController can't initialize caches: %v", err)
  		return
  	}
  	for _, claim := range claimList {
  		if _, err = ctrl.storeClaimUpdate(claim.DeepCopy()); err != nil {
  			klog.Errorf("error updating claim cache: %v", err)
  		}
  	}
  	klog.V(4).Infof("controller initialized")
  }
docs: // initializeCaches fills all controller caches with initial data from etcd in
  // order to have the caches already filled when first addClaim/addVolume to
  // perform initial synchronization of the controller.