code: public static <T> Flux<T> create(Consumer<? super FluxSink<T>> emitter, OverflowStrategy backpressure) {
  		return onAssembly(new FluxCreate<>(emitter, backpressure, FluxCreate.CreateMode.PUSH_PULL));
  	}
docs: Programmatically create a {@link Flux} with the capability of emitting multiple
  elements in a synchronous or asynchronous manner through the {@link FluxSink} API.
  This includes emitting elements from multiple threads.
  <p>
  <img class="marble" src="doc-files/marbles/createWithOverflowStrategy.svg" alt="">
  <p>
  This Flux factory is useful if one wants to adapt some other multi-valued async API
  and not worry about cancellation and backpressure (which is handled by buffering
  all signals if the downstream can't keep up).
  <p>
  For example:
  
  <pre><code>
  Flux.&lt;String&gt;create(emitter -&gt; {
  
  ActionListener al = e -&gt; {
  emitter.next(textField.getText());
  };
  // without cleanup support:
  
  button.addActionListener(al);
  
  // with cleanup support:
  
  button.addActionListener(al);
  emitter.onDispose(() -> {
  button.removeListener(al);
  });
  }, FluxSink.OverflowStrategy.LATEST);
  </code></pre>
  
  @reactor.discard The {@link FluxSink} exposed by this operator discards elements
  as relevant to the chosen {@link OverflowStrategy}. For example, the {@link OverflowStrategy#DROP}
  discards each items as they are being dropped, while {@link OverflowStrategy#BUFFER}
  will discard the buffer upon cancellation.
  
  @param <T> The type of values in the sequence
  @param backpressure the backpressure mode, see {@link OverflowStrategy} for the
  available backpressure modes
  @param emitter Consume the {@link FluxSink} provided per-subscriber by Reactor to generate signals.
  @return a {@link Flux}
  @see #push(Consumer, reactor.core.publisher.FluxSink.OverflowStrategy)