// handle destination arrays
if (destinationType.isArray()) {
ArrayConverter<T> arrayConverter = new ArrayConverter(this, destinationType.getComponentType());
return (T) arrayConverter.convert(value);
}
// handle enums
if (destinationType.isEnum()) {
Object[] enums = destinationType.getEnumConstants();