} else if (componentType.equals(Character.class)) {
return (ArrayWrapper<T>) new CharArrayWrapper((Character[]) array);
} else if (componentType.equals(Boolean.class)) {
return (ArrayWrapper<T>) new BooleanArrayWrapper((Boolean[]) array);
} else if (componentType.equals(Float.class)) {
return (ArrayWrapper<T>) new FloatArrayWrapper((Float[]) array);
} else if (componentType.equals(Double.class)) {
return (ArrayWrapper<T>) new DoubleArrayWrapper((Double[]) array);
} else {
throw new IllegalArgumentException("cannot convert() array of "
+ componentType.toString());