@Test
public void testIndependentStates() {

    int count = 100;
    final ConcurrentHashMap<Object, Object> states = new ConcurrentHashMap<Object, Object>();
    AbstractOnSubscribe<Integer, Void> aos = new AbstractOnSubscribe<Integer, Void>() {
        @Override
        protected void next(SubscriptionState<Integer, Void> state) {
            states.put(state, state);
            state.stop();
        }
    };
    Observable<Integer> source = aos.toObservable();
    for (int i = 0; i < count; i++) {
        source.subscribe();
    }
    
    assertEquals(count, states.size());
}