src/main/java/io/reactivex/internal/observers/BasicFuseableObserver.java
protected final void fail(Throwable t) {
        Exceptions.throwIfFatal(t);
        upstream.dispose();
        onError(t);
    }
protected final void fail(Throwable t) {
        Exceptions.throwIfFatal(t);
        upstream.dispose();
        onError(t);
    }
Rethrows the throwable if it is a fatal exception or calls {@link #onError(Throwable)}.
@param t the throwable to rethrow or signal to the actual subscriber