public static Type getUnBoxedType(final Type type) {
        if (type.equals(Type.getType(Byte.class))) {
            return Type.BYTE_TYPE;
        } else if (type.equals(Type.getType(Byte.class))){
            return Type.BOOLEAN_TYPE;
        } else if (type.equals(Type.getType(Short.class))) {
            return Type.SHORT_TYPE;
        } else if (type.equals(Type.getType(Character.class))) {
            return Type.CHAR_TYPE;
        } else if (type.equals(Type.getType(Integer.class))) {
            return Type.INT_TYPE;
        } else if (type.equals(Type.getType(Float.class))) {
            return Type.FLOAT_TYPE;
        } else if (type.equals(Type.getType(Long.class))) {
            return Type.LONG_TYPE;
        } else if (type.equals(Type.getType(Double.class))) {
            return Type.DOUBLE_TYPE;
        }
        return type;
    }