public static IClass getPrimitiveAClass(IClass type) {
    	ClassHolder ch = type.getClassHolder();
        if (type.equals(ch.getType(Boolean.class))) {
            return ch.getType(boolean.class);
        } else if (type.equals(ch.getType(Byte.class))) {
            return ch.getType(byte.class);
        } else if (type.equals(ch.getType(Short.class))) {
            return ch.getType(short.class);
        } else if (type.equals(ch.getType(Character.class))) {
            return ch.getType(char.class);
        } else if (type.equals(ch.getType(Integer.class))) {
            return ch.getType(int.class);
        } else if (type.equals(ch.getType(Long.class))) {
            return ch.getType(long.class);
        } else if (type.equals(ch.getType(Float.class))) {
            return ch.getType(float.class);
        } else if (type.equals(ch.getType(Double.class))) {
            return ch.getType(double.class);
        }
        return type;
    }