docs: public synchronized void listenOn(Cache<CounterKey, CounterValue> cache) throws InterruptedException {
        if (!topologyListener.registered) {
           this.cache = cache;
           topologyListener.register(cache);
        }
        if (!listenersRegistered) {
           this.cache.addListener(valueListener, CounterKeyFilter.getInstance());
           listenersRegistered = true;
        }
     }