code: @CheckReturnValue
      @BackpressureSupport(BackpressureKind.SPECIAL)
      @SchedulerSupport(SchedulerSupport.NONE)
      public final Flowable<T> onBackpressureBuffer(int capacity, boolean delayError, boolean unbounded) {
          ObjectHelper.verifyPositive(capacity, "bufferSize");
          return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBuffer<T>(this, capacity, unbounded, delayError, Functions.EMPTY_ACTION));
      }
docs: Instructs a Publisher that is emitting items faster than its Subscriber can consume them to buffer up to
  a given amount of items until they can be emitted. The resulting Publisher will signal
  a {@code BufferOverflowException} via {@code onError} as soon as the buffer's capacity is exceeded, dropping all undelivered
  items, and canceling the source.
  <p>
  <img width="640" height="300" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/bp.obp.buffer.png" alt="">
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>The operator honors backpressure from downstream and consumes the source {@code Publisher} in an unbounded
  manner (i.e., not applying backpressure to it).</dd>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code onBackpressureBuffer} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param capacity number of slots available in the buffer.
  @param delayError
  if true, an exception from the current Flowable is delayed until all buffered elements have been
  consumed by the downstream; if false, an exception is immediately signaled to the downstream, skipping
  any buffered element
  @param unbounded
  if true, the capacity value is interpreted as the internal "island" size of the unbounded buffer
  @return the source {@code Publisher} modified to buffer items up to the given capacity.
  @see <a href="http://reactivex.io/documentation/operators/backpressure.html">ReactiveX operators documentation: backpressure operators</a>
  @since 1.1.0