code: @Nullable
  	public final T blockLast(Duration timeout) {
  		BlockingLastSubscriber<T> subscriber = new BlockingLastSubscriber<>();
  		Operators.onLastAssembly(this).subscribe(Operators.toCoreSubscriber(subscriber));
  		return subscriber.blockingGet(timeout.toMillis(), TimeUnit.MILLISECONDS);
  	}
docs: Subscribe to this {@link Flux} and <strong>block</strong> until the upstream
  signals its last value, completes or a timeout expires. Returns that value,
  or null if the Flux completes empty. In case the Flux errors, the original
  exception is thrown (wrapped in a {@link RuntimeException} if it was a checked
  exception). If the provided timeout expires,a {@link RuntimeException} is thrown.
  <p>
  Note that each blockLast() will trigger a new subscription: in other words,
  the result might miss signal from hot publishers.
  
  <p>
  <img class="marble" src="doc-files/marbles/blockLastWithTimeout.svg" alt="">
  
  @param timeout maximum time period to wait for before raising a {@link RuntimeException}
  @return the last value or null