The List interface specifies the following for the List.toArray(T t) method:
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list. JAVA 6 API
FastList breaks this, and throws a java.lang.UnsupportedOperationException: Destination array too small if the supplied array is to small.
The following code demonstrates the issue: