code: public static <T, C extends Collection<T>> Pair<Integer, C> page(long start, long howMany, Iterable<T> iterable, C collection) {
          dbc.precondition(iterable != null, "cannot call page with a null iterable");
          return Pagination.page(start, howMany, iterable.iterator(), collection);
      }
docs: Creates a page view of an iterable adding elements to the collection.
  
  @param <T> the element type parameter
  @param <C> the collection type parameter
  @param start the index where the page starts
  @param howMany the page size
  @param iterable the iterable to be sliced
  @param collection the output collection
  @return a pair containing the iterator size and the requested page