class DefaultLocalScheduler implements LocalScheduler {

    @Override
    public ScheduleReference schedule(ScheduleDescriptor scheduleDescriptor, Consumer<ExecutionContext> action, boolean isolated) {
        ExecutorService executorService = isolated ?
                Executors.newSingleThreadScheduledExecutor(r -> {
                    Thread thread = new Thread(SCHEDULER_THREAD_GROUP, r, scheduleDescriptor.getName());
                    thread.setDaemon(true);
                    return thread;
                })
                :
                null;
        return schedule(scheduleDescriptor, action, executorService);
    }

    public  DefaultLocalScheduler(Duration internalLoopInterval, Scheduler scheduler, Clock clock, Registry registry);

}