class MeasurableScheduler extends ThreadPoolExecutor implements ScheduledExecutorService,
                                                           ScheduledService {

    public ScheduledFuture<?> scheduleAtFixedRateSkipIfLong(Runnable command, long initialDelay,
                                                            long period, TimeUnit unit) {
        if (command == null || unit == null)
            throw new NullPointerException();
        if (period <= 0)
            throw new IllegalArgumentException();
        RunnableScheduledFuture<?> t = decorateTask(
            command,
            new MeasurableScheduler.ScheduledFutureTask<Object>(command, null, triggerTime(
                initialDelay, unit), unit.toNanos(period), true));
        delayedExecute(t);
        return t;
    }

    public  MeasurableScheduler(final Registry registry, final String name, int poolSize);

}