LeaderRecordWatcher implements Watcher<ConfigMap> { public void start() { if (this.watch == null) { synchronized (this.lock) { if (this.watch == null) { LOGGER.debug("Starting leader record watcher"); this.watch = this.kubernetesClient.configMaps() .inNamespace(this.leaderProperties.getNamespace(this.kubernetesClient.getNamespace())) .withName(this.leaderProperties.getConfigMapName()).watch(this); } } } } LeaderRecordWatcher(LeaderProperties leaderProperties, LeadershipController leadershipController,
			KubernetesClient kubernetesClient); void start(); void stop(); @Override void eventReceived(Action action, ConfigMap configMap); @Override void onClose(KubernetesClientException cause);  }
@Test public void shouldStartOnce() { initStubs(); this.watcher.start(); this.watcher.start(); verify(this.mockWithNameResource).watch(this.watcher); }