src/main/java/com/github/oxo42/stateless4j/StateConfiguration.java
public StateConfiguration<S, T> permitIfOtherwiseIgnore(T trigger, S destinationState, final FuncBoolean guard) {
        enforceNotIdentityTransition(destinationState);
        ignoreIf(trigger, new FuncBoolean() {
            @Override
            public boolean call() {
                return !guard.call();
            }
        });
        return publicPermitIf(trigger, destinationState, guard);
    }
public StateConfiguration<S, T> permitIfOtherwiseIgnore(T trigger, S destinationState, final FuncBoolean guard) {
        enforceNotIdentityTransition(destinationState);
        ignoreIf(trigger, new FuncBoolean() {
            @Override
            public boolean call() {
                return !guard.call();
            }
        });
        return publicPermitIf(trigger, destinationState, guard);
    }
Accept the specified trigger and transition to the destination state if guard true, otherwise ignore

@param trigger          The accepted trigger
@param destinationState 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
@return The receiver