private String decodeDrink(String command) {
        StringBuilder b = new StringBuilder();

        Pattern p = Pattern.compile("(.*):(.*):(.*)");
        Matcher matcher = p.matcher(command);
        if(!matcher.matches())
            throw new IllegalArgumentException("Invalid command");

        String drinkType = matcher.group(1);
        String nbSugars = matcher.group(2);

        if (drinkType.startsWith("C")) {
            b.append("Coffee");
        } else if (drinkType.startsWith("H")) {
            b.append("Chocolate");
        } else if (drinkType.startsWith("O")) {
            b.append("Orange juice");
        } else if (drinkType.startsWith("T")) {
            b.append("Tea");
        } else if (drinkType.startsWith("P")) {
            b.append("Tomato potage");
        }

        b.append(";");
        if (drinkType.endsWith("h"))
            b.append("extra hot");
        else
            b.append("normal");

        b.append(";");
        if (nbSugars.equals("1"))
            b.append("1").append(";stick");
        else if (nbSugars.equals("2"))
            b.append("2").append(";stick");
        else
            b.append("0").append(";no-stick");

        return b.toString();
    }