@Override
  public Object[] toArray() {
    return mElements;
  }
@Test
  public void toArrayWithTypeConversion() {
    Integer[] array = new Integer[]{0, 1, 2, 3};
    UnmodifiableArrayList<Integer> list = new UnmodifiableArrayList<>(array);
    Integer[] darray = new Integer[array.length];
    darray = list.toArray(darray);
    assertArrayEquals(array, darray);
  }