code: @CheckReturnValue
      @BackpressureSupport(BackpressureKind.UNBOUNDED_IN)
      @SchedulerSupport(SchedulerSupport.NONE)
      public final <R> Flowable<R> flatMapMaybe(Function<? super T, ? extends MaybeSource<? extends R>> mapper, boolean delayErrors, int maxConcurrency) {
          ObjectHelper.requireNonNull(mapper, "mapper is null");
          ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency");
          return RxJavaPlugins.onAssembly(new FlowableFlatMapMaybe<T, R>(this, mapper, delayErrors, maxConcurrency));
      }
docs: Maps each element of the upstream Flowable into MaybeSources, subscribes to at most
  {@code maxConcurrency} MaybeSources at a time and merges their onSuccess values,
  in no particular order, into a single Flowable sequence, optionally delaying all errors.
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>If {@code maxConcurrency == Integer.MAX_VALUE} the operator consumes the upstream in an unbounded manner.
  Otherwise, the operator expects the upstream to honor backpressure. If the upstream doesn't support backpressure
  the operator behaves as if {@code maxConcurrency == Integer.MAX_VALUE} was used.</dd>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code flatMapMaybe} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param <R> the result value type
  @param mapper the function that received each source value and transforms them into MaybeSources.
  @param delayErrors if true errors from the upstream and inner MaybeSources are delayed until each of them
  terminates.
  @param maxConcurrency the maximum number of active subscriptions to the MaybeSources.
  @return the new Flowable instance