PodReadinessWatcher implements Watcher<Pod> { public void start() { if (this.watch == null) { synchronized (this.lock) { if (this.watch == null) { LOGGER.debug("Starting pod readiness watcher for '{}'", this.podName); PodResource<Pod, DoneablePod> podResource = this.kubernetesClient.pods().withName(this.podName); this.previousState = podResource.isReady(); this.watch = podResource.watch(this); } } } } PodReadinessWatcher(String podName, KubernetesClient kubernetesClient,
			LeadershipController leadershipController); void start(); void stop(); @Override void eventReceived(Action action, Pod pod); @Override void onClose(KubernetesClientException cause);  }
@Test public void shouldStartOnce() { initStubs(); this.watcher.start(); this.watcher.start(); verify(this.mockPodResource).watch(this.watcher); }