question: public PublisherMerge < T > mergeAdditionalSource ( Publisher < ? extends T > source , IntFunction < Supplier < ? extends Queue < T > > > newQueueSupplier ) { int n = sources . length ; @ SuppressWarnings ( "unchecked" ) Publisher < ? extends T > [ ] newArray = new Publisher [ n + 1 ] ; System . arraycopy ( sources , 0 , newArray , 0 , n ) ; newArray [ n ] = source ; Supplier < ? extends Queue < T > > newMainQueue ; int mc = maxConcurrency ; if ( mc != Integer . MAX_VALUE ) { mc ++ ; newMainQueue = newQueueSupplier . apply ( mc ) ; } else { newMainQueue = mainQueueSupplier ; } return new PublisherMerge < > ( newArray , delayError , mc , newMainQueue , prefetch , innerQueueSupplier ) ; }
target:  Returns a new instance which has the additional source to be merged together with the current array of sources. <p> This operation doesn't change the current PublisherMerge instance.