class DefaultManyReconciler implements ManyReconciler<DATA> {

    @Override
    public Mono<DATA> apply(String id, Function<DATA, Mono<DATA>> action) {
        return Mono.defer(() -> {
            ReconcilerEngine<DATA> executor = executors.get(id);
            if (executor == null) {
                return Mono.error(new IllegalArgumentException("Reconciler not found for data item " + id));
            }
            return executor.apply(action);
        });
    }

    public  DefaultManyReconciler(
            String name,
            Duration quickCycle,
            Duration longCycle,
            Function<DATA, List<Mono<Function<DATA, DATA>>>> reconcilerActionsProvider,
            CloseableReference<Scheduler> reconcilerSchedulerRef,
            CloseableReference<Scheduler> notificationSchedulerRef,
            TitusRuntime titusRuntime);

}