code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.CUSTOM)
      public static Completable timer(final long delay, final TimeUnit unit, final Scheduler scheduler) {
          ObjectHelper.requireNonNull(unit, "unit is null");
          ObjectHelper.requireNonNull(scheduler, "scheduler is null");
          return RxJavaPlugins.onAssembly(new CompletableTimer(delay, unit, scheduler));
      }
docs: Returns a Completable instance that fires its onComplete event after the given delay elapsed
  by using the supplied scheduler.
  <p>
  <img width="640" height="413" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.timer.s.png" alt="">
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code timer} operates on the {@link Scheduler} you specify.</dd>
  </dl>
  @param delay the delay time
  @param unit the delay unit
  @param scheduler the scheduler where to emit the complete event
  @return the new Completable instance