code: @SuppressWarnings("unchecked")
  	static <I> Flux<I> wrap(Publisher<? extends I> source){
  		if(source instanceof Mono){
  			if(source instanceof Fuseable){
  				return new FluxSourceMonoFuseable<>((Mono<I>)source);
  			}
  			return new FluxSourceMono<>((Mono<I>)source);
  		}
  		if(source instanceof Fuseable){
  			return new FluxSourceFuseable<>(source);
  		}
  		return new FluxSource<>(source);
  	}
docs: Unchecked wrap of {@link Publisher} as {@link Flux}, supporting {@link Fuseable} sources
  
  @param source the {@link Publisher} to wrap
  @param <I> input upstream type
  @return a wrapped {@link Flux}