code: func NewRepair(interval time.Duration, serviceClient corev1client.ServicesGetter, eventClient corev1client.EventsGetter, network *net.IPNet, alloc rangeallocation.RangeRegistry) *Repair {
  	eventBroadcaster := record.NewBroadcaster()
  	eventBroadcaster.StartRecordingToSink(&corev1client.EventSinkImpl{Interface: eventClient.Events("")})
  	recorder := eventBroadcaster.NewRecorder(legacyscheme.Scheme, v1.EventSource{Component: "ipallocator-repair-controller"})
  
  	return &Repair{
  		interval:      interval,
  		serviceClient: serviceClient,
  		network:       network,
  		alloc:         alloc,
  		leaks:         map[string]int{},
  		recorder:      recorder,
  	}
  }
docs: // NewRepair creates a controller that periodically ensures that all clusterIPs are uniquely allocated across the cluster
  // and generates informational warnings for a cluster that is not in sync.