### Question:
UnwrapOptionTransformer implements ObservableTransformer<Option<T>, T> { @Override public ObservableSource<T> apply(final Observable<Option<T>> upstream) { return upstream.filter(Option::isSome) .map(OptionUnsafe::getUnsafe); }  @Override ObservableSource<T> apply(final Observable<Option<T>> upstream); static UnwrapOptionTransformer<T> create();  }### Answer:
@Test public void transformerFiltersOutNone() { Observable<Option<Object>> source = Observable.just(Option.none()); TestObserver<Object> ts = new TestObserver<>(); transformer.apply(source).subscribe(ts); ts.assertNoValues(); }
@Test public void transformerUnwrapsSome() { Object object = new Object(); Observable<Option<Object>> source = Observable.just(Option.ofObj(object)); TestObserver<Object> ts = new TestObserver<>(); transformer.apply(source).subscribe(ts); ts.assertValue(object); }