code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public static Completable defer(final Callable<? extends CompletableSource> completableSupplier) {
          ObjectHelper.requireNonNull(completableSupplier, "completableSupplier");
          return RxJavaPlugins.onAssembly(new CompletableDefer(completableSupplier));
      }
docs: Defers the subscription to a Completable instance returned by a supplier.
  <p>
  <img width="640" height="298" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.defer.png" alt="">
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code defer} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param completableSupplier the supplier that returns the Completable that will be subscribed to.
  @return the Completable instance