code: @CheckReturnValue
      @BackpressureSupport(BackpressureKind.PASS_THROUGH)
      @SchedulerSupport(SchedulerSupport.NONE)
      public final <U> Flowable<U> cast(final Class<U> clazz) {
          ObjectHelper.requireNonNull(clazz, "clazz is null");
          return map(Functions.castFunction(clazz));
      }
docs: Returns a Flowable that emits the items emitted by the source Publisher, converted to the specified
  type.
  <p>
  <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/cast.png" alt="">
  <dl>
  <dt><b>Backpressure:</b></dt>
  <dd>The operator doesn't interfere with backpressure which is determined by the source {@code Publisher}'s
  backpressure behavior.</dd>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code cast} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param <U> the output value type cast to
  @param clazz
  the target class type that {@code cast} will cast the items emitted by the source Publisher
  into before emitting them from the resulting Publisher
  @return a Flowable that emits each item from the source Publisher after converting it to the
  specified type
  @see <a href="http://reactivex.io/documentation/operators/map.html">ReactiveX operators documentation: Map</a>