src/main/java/io/reactivex/Maybe.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final T blockingGet(T defaultValue) {
        ObjectHelper.requireNonNull(defaultValue, "defaultValue is null");
        BlockingMultiObserver<T> observer = new BlockingMultiObserver<T>();
        subscribe(observer);
        return observer.blockingGet(defaultValue);
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final T blockingGet(T defaultValue) {
        ObjectHelper.requireNonNull(defaultValue, "defaultValue is null");
        BlockingMultiObserver<T> observer = new BlockingMultiObserver<T>();
        subscribe(observer);
        return observer.blockingGet(defaultValue);
    }
Waits in a blocking fashion until the current Maybe signals a success value (which is returned),
defaultValue if completed or an exception (which is propagated).
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code blockingGet} does not operate by default on a particular {@link Scheduler}.</dd>
<dt><b>Error handling:</b></dt>
<dd>If the source signals an error, the operator wraps a checked {@link Exception}
into {@link RuntimeException} and throws that. Otherwise, {@code RuntimeException}s and
{@link Error}s are rethrown as they are.</dd>
</dl>
@param defaultValue the default item to return if this Maybe is empty
@return the success value