I've added defensive programming approach, because `find_transition` is the public interface in Order Checkout. I hope this prevent contract issues. What do you think @jdutil ?