class InstantPeriodicTask implements Callable<Void>, Disposable {

    @Override
    public Void call() throws Exception {
        runner = Thread.currentThread();
        try {
            task.run();
            setRest(executor.submit(this));
            runner = null;
        } catch (Throwable ex) {
            runner = null;
            RxJavaPlugins.onError(ex);
        }
        return null;
    }

      InstantPeriodicTask(Runnable task, ExecutorService executor);

}