@Test
public void onlineSuccess() {

    PublishProcessor<Integer> pp = PublishProcessor.create();
    Maybe<Integer> source = pp.singleElement().cache();
    assertFalse(pp.hasSubscribers());
    assertNotNull(((MaybeCache<Integer>)source).source.get());
    TestObserver<Integer> to = source.test();
    assertNull(((MaybeCache<Integer>)source).source.get());
    assertTrue(pp.hasSubscribers());
    source.test(true).assertEmpty();
    to.assertEmpty();
    pp.onNext(1);
    pp.onComplete();
    to.assertResult(1);
    source.test().assertResult(1);
    source.test(true).assertEmpty();
}