### Question:
SingleStateful implements Stateful<S> { public static <S> SingleStateful<S> fromInitial(final S initialState) { return fromInitial(initialState, (oldState, newState) -> {}); } private  SingleStateful(final S initialState, final BiConsumer<S, S> beforeTransitionCallback); static SingleStateful<S> fromInitial(final S initialState); static SingleStateful<S> fromInitial(final S initialState, final BiConsumer<S, S> beforeTransitionCallback); @Override S state(); @Override Flux<S> states(); synchronized void transition(final S newState); boolean compareAndTransition(final S expectedState, final S newState); void close();  }### Answer:
@Test void failsOnNullInitialValue() { assertThrows(InvalidArgumentException.class, () -> SingleStateful.fromInitial(null)); }