} else if (type == boolean.class) {
return new BooleanMemberValue((Boolean) val, cp);
} else if (type == String.class) {
return new StringMemberValue((String) val, cp);
} else if (type == Class.class) {
return new ClassMemberValue(((Class<?>) val).getName(), cp);
} else if (type.isEnum()) {
EnumMemberValue e = new EnumMemberValue(cp);
e.setType(type.getName());
e.setValue(((Enum<?>) val).name());
return e;