code: public static <T> FlowableTransformer<T, List<T>> buffer(final int maxSize,
              final Function<? super T, ? extends Long> duration, final TimeUnit unit) {
          return buffer(maxSize, duration, unit, Schedulers.computation());
      }
docs: Buffers the source {@link Flowable} into {@link List}s, emitting Lists when
  the size of a list reaches {@code maxSize} or if the elapsed time since last
  emission from the source reaches the given duration. An emission on timeout
  is scheduled on {@link Schedulers#computation()}.
  
  @param maxSize
  max size of emitted lists
  @param duration
  function that based on the last emission calculates the elapsed
  time to be used before emitting a buffered list
  @param unit
  unit of {@code duration}
  @param <T>
  type of the source stream items
  @return source with operator applied