code: @CheckReturnValue
      @BackpressureSupport(BackpressureKind.FULL)
      @SchedulerSupport(SchedulerSupport.NONE)
      @SuppressWarnings({ "unchecked", "rawtypes" })
      public static <T> Flowable<T> concat(Publisher<? extends SingleSource<? extends T>> sources, int prefetch) {
          ObjectHelper.requireNonNull(sources, "sources is null");
          ObjectHelper.verifyPositive(prefetch, "prefetch");
          return RxJavaPlugins.onAssembly(new FlowableConcatMapPublisher(sources, SingleInternalHelper.toFlowable(), prefetch, ErrorMode.IMMEDIATE));
      }
docs: Concatenate the single values, in a non-overlapping fashion, of the SingleSources provided by
  a Publisher sequence and prefetched by the specified amount.
  <p>
  <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.concat.pn.png" alt="">
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer
  and the sources {@code Publisher} is expected to honor it as well.</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 SingleSource instances
  @param prefetch the number of SingleSources to prefetch from the Publisher
  @return the new Flowable instance
  @since 2.0