class ScheduledDirectPeriodicTask extends AbstractDirectTask implements Runnable {

    @Override
    public void run() {
        runner = Thread.currentThread();
        try {
            runnable.run();
            runner = null;
        } catch (Throwable ex) {
            runner = null;
            lazySet(FINISHED);
            RxJavaPlugins.onError(ex);
        }
    }

    public  ScheduledDirectPeriodicTask(Runnable runnable);

}