code: public final Flux<T> take(long n) {
  		if (this instanceof Fuseable) {
  			return onAssembly(new FluxTakeFuseable<>(this, n));
  		}
  		return onAssembly(new FluxTake<>(this, n));
  	}
docs: Take only the first N values from this {@link Flux}, if available.
  <p>
  If N is zero, the resulting {@link Flux} completes as soon as this {@link Flux}
  signals its first value (which is not not relayed, though).
  <p>
  <img class="marble" src="doc-files/marbles/take.svg" alt="">
  <p>
  Note that this operator doesn't manipulate the backpressure requested amount.
  Rather, it merely lets requests from downstream propagate as is and cancels once
  N elements have been emitted. As a result, the source could produce a lot of
  extraneous elements in the meantime. If that behavior is undesirable and you do
  not own the request from downstream (e.g. prefetching operators), consider
  using {@link #limitRequest(long)} instead.
  
  @param n the number of items to emit from this {@link Flux}
  
  @return a {@link Flux} limited to size N
  @see #limitRequest(long)