@Test public void startsInInitialState() { StateMachine<State> stateMachine = stateMachineBuilder.build(); assertThat(stateMachine.currentState(), Matchers.is(STARTED)); }
public S currentState() { return currentState; }
StateMachine { public S currentState() { return currentState; } }
StateMachine { public S currentState() { return currentState; } private  StateMachine(S initialState, Map<Key<S>, Function<Object, S>> transitions,
            BiFunction<S, Object, S> inappropriateEventHandler, StateChangeListener<S> stateChangeListener); }
StateMachine { public S currentState() { return currentState; } private  StateMachine(S initialState, Map<Key<S>, Function<Object, S>> transitions,
            BiFunction<S, Object, S> inappropriateEventHandler, StateChangeListener<S> stateChangeListener); S currentState(); void handle(Object event, String loggingPrefix); void handle(Object event); }
StateMachine { public S currentState() { return currentState; } private  StateMachine(S initialState, Map<Key<S>, Function<Object, S>> transitions,
            BiFunction<S, Object, S> inappropriateEventHandler, StateChangeListener<S> stateChangeListener); S currentState(); void handle(Object event, String loggingPrefix); void handle(Object event);  }