code: @SuppressWarnings("unchecked")
    public T[] getSamples() {
      if (itemsSeen_ == 0) {
        return null;
      }
  
      final Class<?> clazz = data_.get(0).getClass();
      return data_.toArray((T[]) Array.newInstance(clazz, 0));
    }
docs: Returns a copy of the items in the reservoir, or null if empty. The returned array length
  may be smaller than the reservoir capacity.
  
  <p>In order to allocate an array of generic type T, uses the class of the first item in
  the array. This method method may throw an <tt>ArrayAssignmentException</tt> if the
  reservoir stores instances of a polymorphic base class.</p>
  
  @return A copy of the reservoir array