@Test
public void testCompositeErrorDelayed2() {

    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));
    CaptureObserver w = new CaptureObserver();
    m.subscribe(w);
    assertNotNull(w.e);
    if (w.e instanceof CompositeException) {
        assertEquals(2, ((CompositeException) w.e).getExceptions().size());
        w.e.printStackTrace();
    } else {
        fail("Expecting CompositeException");
    }
}