try {
return ClassReflection.newInstance(type);
} catch (Exception ex) {
try {
// Try a private constructor.
Constructor constructor = ClassReflection.getDeclaredConstructor(type);
constructor.setAccessible(true);
return constructor.newInstance();
} catch (SecurityException ignored) {
} catch (ReflectionException ignored) {
if (ClassReflection.isAssignableFrom(Enum.class, type)) {