public void onValidate() {
        if (model.isGamePaused()) {
            menuHandler.validate();

            if (model.getPrioritaryDisplayedMenu() == null) {
                model.setGamePaused(false);
            }
        }
        else if (!moveHandler.isMoving()) {
            if (model.getPlayer().isInFrontOfAChest()) {
                Item item = model.getPlayer().pickChestContentIFP();
                Message message;
                if (item != null) {
                    message = new Message(UserInterface.getLang().getString("itemFound") + item.getName());
                }
                else {
                    message = new Message(UserInterface.getLang().getString("nothingHere"));
                }
                ((MessageBox)model.getMenu(GameModel.MenuID.messageBox)).init(message);
                model.showMenu(GameModel.MenuID.messageBox);
                model.setGamePaused(true);
            }
            else if (model.getPlayer().isInFrontOfACharacter()) {
                model.startConversation();
                model.setGamePaused(true);
            }
            else if (model.getPlayer().isInFrontOfALockedDoor()) {
                Key key = model.getPlayer().getKeyForFrontDoorIFP();
                Message message;
                if (key != null) {
                    boolean useSucceed = key.use(model);
                    message = new Message(useSucceed ? key.getUseFeedback() : key.getUseFailFeedback());
                }
                else {
                    message = new Message(UserInterface.getLang().getString("doorLocked"));
                }
                ((MessageBox)model.getMenu(GameModel.MenuID.messageBox)).init(message);
                model.showMenu(GameModel.MenuID.messageBox);
                model.setGamePaused(true);
            }
        }
    }