@Test
public void testCompositeErrorDelayed1() {

    final Observable<String> o1 = Observable.create(new TestErrorObservable("four", null, "six")); // we expect to lose "six" from the source (and it should never be sent by the source since onError was called
    final Observable<String> o2 = Observable.create(new TestErrorObservable("one", "two", null));
    @SuppressWarnings("unchecked")
    Observable<String> m = Observable.create(mergeDelayError(o1, o2));
    m.subscribe(stringObserver);
    verify(stringObserver, times(1)).onError(any(CompositeException.class));
    verify(stringObserver, never()).onCompleted();
    verify(stringObserver, times(1)).onNext("one");
    verify(stringObserver, times(1)).onNext("two");
    verify(stringObserver, times(0)).onNext("three");
    verify(stringObserver, times(1)).onNext("four");
    verify(stringObserver, times(0)).onNext("five");
    verify(stringObserver, times(0)).onNext("six");
}