code: public static <T> List<T> randomListFrom(Supplier<T> elementSupplier, Range<Integer> size) {
      checkArgument(
          size.hasLowerBound() && size.lowerEndpoint() >= 0,
          "Size range must consist of only positive integers");
      Set<Integer> rangeSet = ContiguousSet.create(size, DiscreteDomain.integers());
      int limit = IterableUtils.randomFrom(rangeSet);
      return randomListFrom(elementSupplier, limit);
    }
docs: Returns a list filled from the given element supplier.
  
  @param elementSupplier element supplier to fill list from
  @param size range that the size of the list will be randomly chosen from
  @param <T> the type of element the given supplier returns
  @return list filled from the given element supplier
  @throws IllegalArgumentException if the size range contains negative integers