private static <TSource, TDest> void castThrow(TSource[] values, ReifiedList<TDest> list)
{
val destinationClass = list.getGenericTypeParameter();
for (TSource v : values)
{
TDest castVal = (TDest) destinationClass.cast(v);
list.add(castVal);
}
}
/**