public void start(BiConsumer<T, T> updater) { checkNotNull(updater, "updater cannot be null"); checkNotNull(metadata, "init must be called before start"); checkState(this.updater == null, "start cannot be called more than once"); setUpdater(updater); executor.scheduleWithFixedDelay(this::checkForUpdates, 2000, 2000, TimeUnit.MILLISECONDS); }