src/main/java/io/reactivex/parallel/ParallelFlowable.java
@CheckReturnValue
    @NonNull
    public final ParallelFlowable<T> doOnNext(@NonNull Consumer<? super T> onNext) {
        ObjectHelper.requireNonNull(onNext, "onNext is null");
        return RxJavaPlugins.onAssembly(new ParallelPeek<T>(this,
                onNext,
                Functions.emptyConsumer(),
                Functions.emptyConsumer(),
                Functions.EMPTY_ACTION,
                Functions.EMPTY_ACTION,
                Functions.emptyConsumer(),
                Functions.EMPTY_LONG_CONSUMER,
                Functions.EMPTY_ACTION
                ));
    }
@CheckReturnValue
    @NonNull
    public final ParallelFlowable<T> doOnNext(@NonNull Consumer<? super T> onNext) {
        ObjectHelper.requireNonNull(onNext, "onNext is null");
        return RxJavaPlugins.onAssembly(new ParallelPeek<T>(this,
                onNext,
                Functions.emptyConsumer(),
                Functions.emptyConsumer(),
                Functions.EMPTY_ACTION,
                Functions.EMPTY_ACTION,
                Functions.emptyConsumer(),
                Functions.EMPTY_LONG_CONSUMER,
                Functions.EMPTY_ACTION
                ));
    }
@ CheckReturnValue @ NonNull public final ParallelFlowable < T > doOnNext ( @ NonNull Consumer < ? super T > onNext ) { ObjectHelper . requireNonNull ( onNext , "onNext is null" ) ; return RxJavaPlugins . onAssembly ( new ParallelPeek < T > ( this , onNext , Functions . emptyConsumer ( ) , Functions . emptyConsumer ( ) , Functions . EMPTY_ACTION , Functions . EMPTY_ACTION , Functions . emptyConsumer ( ) , Functions . EMPTY_LONG_CONSUMER , Functions . EMPTY_ACTION ) ) ; }
Call the specified consumer with the current element passing through any 'rail'.

@param onNext the callback
@return the new ParallelFlowable instance
Call the specified consumer with the current element passing through any rail .