public <TArg0> StateConfiguration<S, T> permitDynamicIf(TriggerWithParameters1<TArg0, T> trigger, final Func2<TArg0, S> destinationStateSelector, FuncBoolean guard) {
        assert trigger != null : TRIGGER_IS_NULL;
        assert destinationStateSelector != null : DESTINATION_STATE_SELECTOR_IS_NULL;
        return publicPermitDynamicIf(
                trigger.getTrigger(), new Func2<Object[], S>() {
                    @SuppressWarnings("unchecked")
                    @Override
                    public S call(Object[] args) {
                        return destinationStateSelector.call((TArg0) args[0]);

                    }
                },
                guard, NO_ACTION_N
        );
    }
public <TArg0> StateConfiguration<S, T> permitDynamicIf(TriggerWithParameters1<TArg0, T> trigger, final Func2<TArg0, S> destinationStateSelector, FuncBoolean guard) {
        assert trigger != null : TRIGGER_IS_NULL;
        assert destinationStateSelector != null : DESTINATION_STATE_SELECTOR_IS_NULL;
        return publicPermitDynamicIf(
                trigger.getTrigger(), new Func2<Object[], S>() {
                    @SuppressWarnings("unchecked")
                    @Override
                    public S call(Object[] args) {
                        return destinationStateSelector.call((TArg0) args[0]);

                    }
                },
                guard, NO_ACTION_N
        );
    }
public < TArg0 > StateConfiguration < S , T > permitDynamicIf ( TriggerWithParameters1 < TArg0 , T > trigger , final Func2 < TArg0 , S > destinationStateSelector , FuncBoolean guard ) { assert trigger != null : TRIGGER_IS_NULL ; assert destinationStateSelector != null : DESTINATION_STATE_SELECTOR_IS_NULL ; return publicPermitDynamicIf ( trigger . getTrigger ( ) , new Func2 < Object [ ] , S > ( ) { @ SuppressWarnings ( "unchecked" ) @ Override public S call ( Object [ ] args ) { return destinationStateSelector . call ( ( TArg0 ) args [ 0 ] ) ; } } , guard , NO_ACTION_N ) ; }
Accept the specified trigger and transition to the destination state, calculated dynamically by the supplied
function

@param trigger                  The accepted trigger
@param destinationStateSelector Function to calculate the state that the trigger will cause a transition to
@param guard                    Function that must return true in order for the  trigger to be accepted
@param <TArg0>                  Type of the first trigger argument
@return The receiver
Accept the specified trigger and transition to the destination state calculated dynamically by the supplied function