Map<Class, ConfigTypeAdapter> def = DefaultConfigTypeAdapters.get();
// if it is a config class, use reflective adapter
if (clazz.getAnnotation(ConfigClass.class) != null) {
adapter = new ReflectiveAdapter(clazz);
} else if (clazz.isArray()) {
// if array
adapter = (ConfigTypeAdapter<T, ?>) new DefaultConfigTypeAdapters.ArrayTypeAdapter();
} else {
if (clazz.isEnum()) {