src/main/java/io/reactivex/plugins/RxJavaPlugins.java
@NonNull
    public static Scheduler initIoScheduler(@NonNull Callable<Scheduler> defaultScheduler) {
        ObjectHelper.requireNonNull(defaultScheduler, "Scheduler Callable can't be null");
        Function<? super Callable<Scheduler>, ? extends Scheduler> f = onInitIoHandler;
        if (f == null) {
            return callRequireNonNull(defaultScheduler);
        }
        return applyRequireNonNull(f, defaultScheduler);
    }
@NonNull
    public static Scheduler initIoScheduler(@NonNull Callable<Scheduler> defaultScheduler) {
        ObjectHelper.requireNonNull(defaultScheduler, "Scheduler Callable can't be null");
        Function<? super Callable<Scheduler>, ? extends Scheduler> f = onInitIoHandler;
        if (f == null) {
            return callRequireNonNull(defaultScheduler);
        }
        return applyRequireNonNull(f, defaultScheduler);
    }
@ NonNull public static Scheduler initIoScheduler ( @ NonNull Callable < Scheduler > defaultScheduler ) { ObjectHelper . requireNonNull ( defaultScheduler , "Scheduler Callable can't be null" ) ; Function < ? super Callable < Scheduler > , ? extends Scheduler > f = onInitIoHandler ; if ( f == null ) { return callRequireNonNull ( defaultScheduler ) ; } return applyRequireNonNull ( f , defaultScheduler ) ; }
Calls the associated hook function.
@param defaultScheduler a {@link Callable} which returns the hook's input value
@return the value returned by the hook, not null
@throws NullPointerException if the callable parameter or its result are null
Calls the associated hook function .