@Override
    public boolean handleMessage(Message message) {

        switch (message.getCode()) {
            case Message.EVENT_SHOW_COST:
                System.out.println(getDescription());
                break;
            case Message.EVENT_SHOW_TOTAL_COST:
                if (mParentBeverage == null) {
                    System.out.println(getTotalCost());
                    return true;
                }

            case Message.EVENT_FIND_FIT_BALANCE:

                if (getParentBeverage() == null) {
                    if (getTotalCost() > message.getBalance()) {
                        System.out.println("No thing can buy");
                    } else {
                        System.out.println("This is your fit beverage" + this.getDescription());
                    }
                    return true;
                }
                break;
            case Message.EVENT_SHOW_HELP:
                if (showHelp()) {
                    return true;
                }
            default:
                break;
        }

        if (getParentBeverage() == null) {
            return true;
        }
        return getParentBeverage().handleMessage(message);

    }