public StateMachineFactory
             <OPERAND, STATE, EVENTTYPE, EVENT>
          addTransition(STATE preState, Set<STATE> postStates,
                        EVENTTYPE eventType,
                        MultipleArcTransition<OPERAND, EVENT, STATE> hook){
    return new StateMachineFactory<>
        (this,
         new ApplicableSingleOrMultipleTransition<>
           (preState, eventType, new MultipleInternalArc(postStates, hook)));
  }
@return a NEW StateMachineFactory just like {@code this} with the current
         transition added as a new legal transition

        Note that the returned StateMachineFactory is a distinct object.

        This method is part of the API.

@param preState pre-transition state
@param postStates valid post-transition states
@param eventType stimulus for the transition
@param hook transition hook
ambari-server/src/main/java/org/apache/ambari/server/state/fsm/StateMachineFactory.java