@Override
  public <T> T @NotNull [] toArray(T @NotNull [] array) {
    Object[] elements = myWrappedList.toArray();
    int len = elements.length;
    if (array.length < len) {
      //noinspection unchecked
      array = (T[])Array.newInstance(array.getClass().getComponentType(), len);
    }
    else {
      Arrays.fill(array, len, array.length, null);
    }

    for (int i = 0; i < len; i++) {
      //noinspection unchecked
      array[i] = (T)((DisposableWrapper)elements[i]).delegate;
    }
    return array;
  }
@Override
  public <T> T @NotNull [] toArray(T @NotNull [] array)