code: @CheckReturnValue
      @BackpressureSupport(BackpressureKind.FULL)
      @SchedulerSupport(SchedulerSupport.NONE)
      public static <T> Flowable<T> generate(final Consumer<Emitter<T>> generator) {
          ObjectHelper.requireNonNull(generator, "generator is null");
          return generate(Functions.nullSupplier(),
                  FlowableInternalHelper.<T, Object>simpleGenerator(generator),
                  Functions.emptyConsumer());
      }
docs: Returns a cold, synchronous, stateless and backpressure-aware generator of values.
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>The operator honors downstream backpressure.</dd>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code generate} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param <T> the generated value type
  @param generator the Consumer called whenever a particular downstream Subscriber has
  requested a value. The callback then should call {@code onNext}, {@code onError} or
  {@code onComplete} to signal a value or a terminal event. Signaling multiple {@code onNext}
  in a call will make the operator signal {@code IllegalStateException}.
  @return the new Flowable instance