private static String Choose(Environment e) throws Exception {
        e.Check("[", "Invalid beginning of a 'Choose' construct");

        e.SkipEmpty();
        String value = "";
        while (!e.EOL() && e.Peek() != ']') {
            if (value.isEmpty()) {
                value = ExpressionList(e);
            } else {
                ExpressionList(e);
            }
            e.SkipEmpty();
            if (e.Peek() != ']') {
                e.Check(",", "Missing parameter delimiter ,");
            }
            e.SkipEmpty();
        }

        e.Check("]", "Choose is missing closure character ]");

        //System.out.println("Choose: " + value );

        return value;
    }