@Override
    public SchedulerTask asyncRepeating(Runnable task, long interval, TimeUnit unit) {
        ScheduledFuture<?> future = this.scheduler.scheduleAtFixedRate(() -> this.worker.execute(task), interval, interval, unit);
        return () -> future.cancel(false);
    }
Abstract implementation of {@link SchedulerAdapter} using a {@link ScheduledExecutorService}.
common/src/main/java/me/lucko/luckperms/common/plugin/scheduler/AbstractJavaScheduler.java