FastArrayList extends UnsupportedList<T> implements
		RunnerLoop<T> { @Override public Object[] toArray() { return array; } @SuppressWarnings("unchecked")  FastArrayList(); @SuppressWarnings("unchecked")  FastArrayList(final int size);  FastArrayList(final T[] array); @Override boolean add(final T item); @Override @SuppressWarnings("unchecked") boolean remove(final Object item); @Override Iterator<T> iterator(); @Override int size(); @Override boolean isEmpty(); @ThreadSafe(rule = "does not reflect concurrent modifications") @Override void runLoop(final Runner<R, T> task, final List<R> list); @Override Object[] toArray(); @SuppressWarnings("unchecked") @Override T[] toArray(final T[] instance);  }
@Test public void testToArray2() { final Integer[] array1 = { 1, 2, 3 }; final FastArrayList<Integer> list = new FastArrayList<Integer>(array1); final Integer[] array2 = list.toArray(new Integer[0]); assertNotNull(array2); assertEquals(array2.length, 3); assertArrayEquals(array1, array2); assertFalse(array1 == array2); }