public static <T> MultipleStreamSource<T> ofMultiple(final QueueFactory<?> q) {
        Objects.requireNonNull(q);
        return new MultipleStreamSource<T>(
                                           StreamSource.of(q)
                                                       .createQueue());
    }
public static < T > MultipleStreamSource < T > ofMultiple ( final QueueFactory < ? > q ) { Objects . requireNonNull ( q ) ; return new MultipleStreamSource < T > ( StreamSource . of ( q ) . createQueue ( ) ) ; }
Construct a StreamSource that supports multiple readers of the same data backed by a Queue created
from the supplied QueueFactory


@see QueueFactories for Factory creation options and various backpressure strategies
<pre>
{@code
MultipleStreamSource<Integer> multi = StreamSource
.ofMultiple(QueueFactories.boundedQueue(100));
FutureStream<Integer> pushable = multi.futureStream(new LazyReact());
ReactiveSeq<Integer> seq = multi.reactiveSeq();
multi.getInput().offer(100);
multi.getInput().close();
pushable.collect(CyclopsCollectors.toList()); //[100]
seq.collect(CyclopsCollectors.toList()); //[100]

}
</pre>

@param q QueueFactory used to create the Adapter to back the pushable StreamSource
@return a builder that will use Topics to allow multiple Streams from the same data