@Override
  final CancellableTask<K, T> scheduleImpl(final T task, long period, TimeUnit unit) {
    final ScheduledFuture<?> future = this.executorService.scheduleAtFixedRate(new RunnableTask(task), 0, period, unit);
    return new CancellableScheduledFuture<>(task, future);
  }
@ Override final CancellableTask < K , T > scheduleImpl ( final T task , long period , TimeUnit unit ) { final ScheduledFuture < ? > future = this . executorService . scheduleAtFixedRate ( new RunnableTask ( task ) , 0 , period , unit ) ; return new CancellableScheduledFuture < > ( task , future ) ; }
Schedules a subclass of {@link ScheduledTask} to run periodically.

@param task the subclass of {@link ScheduledTask} to run every period
@param period the period between successive executions of the task
@param unit the time unit of the period parameter