code: @BackpressureSupport(BackpressureKind.FULL)
      @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      @SuppressWarnings({ "unchecked", "rawtypes" })
      public static <T> Flowable<T> concat(Publisher<? extends MaybeSource<? extends T>> sources, int prefetch) {
          ObjectHelper.requireNonNull(sources, "sources is null");
          ObjectHelper.verifyPositive(prefetch, "prefetch");
          return RxJavaPlugins.onAssembly(new FlowableConcatMapPublisher(sources, MaybeToPublisher.instance(), prefetch, ErrorMode.IMMEDIATE));
      }
docs: Concatenate the single values, in a non-overlapping fashion, of the MaybeSource sources provided by
  a Publisher sequence.
  <p>
  <img width="640" height="416" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.pn.png" alt="">
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer and
  expects the {@code Publisher} to honor backpressure as well. If the sources {@code Publisher}
  violates this, a {@link io.reactivex.exceptions.MissingBackpressureException} is signalled.</dd>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code concat} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param <T> the value type
  @param sources the Publisher of MaybeSource instances
  @param prefetch the number of MaybeSources to prefetch from the Publisher
  @return the new Flowable instance