Aint it redundant to use the same if-statement inside the STEAL case, that you use to get the state.
Since the if-statement is used to get the state, should it not be sufficient to just write something like this :
case STEAL:
Entity stall = objects.closest("Tea stall");
stall.interact("Steal-from");
break;