public static Value defaultValue(IClass aclass) {
        
    	ClassHolder holder = aclass.getClassHolder();
        if (aclass.getName().equals(int.class.getName())) {
            return new Value(holder, 0);

        } else if (aclass.getName().equals(short.class.getName())) {
            return new Value(holder, (short) 0);

        } else if (aclass.getName().equals(byte.class.getName())) {
            return new Value(holder, (byte) 0);

        } else if (aclass.getName().equals(boolean.class.getName())) {
            return new Value(holder, false);

        } else if (aclass.getName().equals(long.class.getName())) {
            return new Value(holder, (long) 0);

        } else if (aclass.getName().equals(double.class.getName())) {
            return new Value(holder, 0d);

        } else if (aclass.getName().equals(char.class.getName())) {
            return new Value(holder, (char) 0);

        } else if (aclass.getName().equals(float.class.getName())) {
            return new Value(holder, 0f);

        } else {
            Value v = new Value();
            v.cls = aclass;
            v.value = null;
            return v;
        }
    }