class BlockingObservable {

    public T firstOrDefault(T defaultValue) {
        return blockForSingle(o.map(UtilityFunctions.<T>identity()).firstOrDefault(defaultValue));
    }

    private  BlockingObservable(Observable<? extends T> o);

}