It seems that actions added to choice pseudo-states are silently ignored. Doing this:
Builder builder = StateMachineBuilder.builder();
StateConfigurer states = builder.configureStates().withStates();
StateMachineTransitionConfigurer transitions = builder.configureTransitions();
StateConfigurer statesConfig = states.initial(INITIAL).states(EnumSet.allOf(StateType.class));
statesConfig.choice(StateType.CHOICE_STATE);
transitions.withChoice().source(StateType.CHOICE_STATE). //
first(StateType.S1, someGuard). //
last(StateType.S2);
states.state(StateType.CHOICE_STATE, someAction, null);
Results in someAction never being executed when CHOICE_STATE is entered.
Adding actions to transitions out of CHOICE_STATE (for example, to S1 or S2 above) is simply not permitted by the framework.
To get around this, we have implemented a state that precedes CHOICE_STATE. We are then free to add actions to this state, as usual. I was just wondering what is the reason for this limitation, or if there is some way of putting actions on a pseudo-state that I may have missed.