@NotNull
    @Override
    public <E> E[] toArray(@NotNull E[] a) {
      if (a.length != 0) {
        a[0] = null;
      }
      return a;
    }
@NotNull
    @Override
    public <E> E[] toArray(@NotNull E[] a)