public Object visit(BooleanLiteral node) {
            boolean value = ((Boolean)node.getValue()).booleanValue();
            Type type = node.getType();
            Class<?> clazz = type.getNaturalClass();
            if (clazz == boolean.class) {
                mBuilder.loadConstant(value);
            }
            else if (clazz.isAssignableFrom(Boolean.class)) {
                TypeDesc td = makeDesc(Boolean.class);

                if (value) {
                    mBuilder.loadStaticField("java.lang.Boolean", "TRUE", td);
                }
                else {
                    mBuilder.loadStaticField("java.lang.Boolean", "FALSE", td);
                }
            }
            else if (clazz.isAssignableFrom(String.class)) {
                mBuilder.loadConstant(String.valueOf(value));
            }
            else {
                typeError(Type.BOOLEAN_TYPE, type);
            }

            return null;
        }