code: public static <T> MultipleStreamSource<T> ofMultiple(final int backPressureAfter) {
          return new MultipleStreamSource<T>(
                                             StreamSource.of(backPressureAfter)
                                                         .createQueue());
      }
docs: Connect multiple Streams to a Pushable datasource, each Stream will recieve the same
  data. In this backpresure is applied by using a LinkedBlockingQueue. @see cyclops2.stream.StreamSource#ofMultiple(QueueFactory)
  For more granular management of Adapter based backpressure. Adapters can be backed by non-blocking data structures and different backpressure strategies applied
  <pre>
  {@code
  
  
  MultipleStreamSource<Integer> multi = StreamSource.ofMultiple(2);
  multi.getInput()
  .offer(100);
  
  example on separate threads
  
  thread 1
  LazyFutureStream<Integer> futureStream = multi.futureStream(new LazyReact());
  futureStream.map(this::slowProcess)
  .forEach(System.out::println);
  
  print 100
  
  thread 2
  ReactiveSeq<Integer> seq = multi.reactiveSeq();
  seq.forEach(System.out::println);
  
  print 100
  
  thread 3
  Stream<Integer> stream = multi.stream();
  stream.forEach(System.out::println);
  
  print 100
  
  multi.getInput()
  .offer(200);
  
  thread 1
  print 200
  
  thread 2
  print 200
  
  thread 3
  print 200
  
  multi.getInput()
  .offer(300);
  multi.getInput()
  .offer(400);
  multi.getInput()
  .offer(500);    //blocked as backpressure applied
  multi.getInput()
  .close();
  
  
  }
  </pre>
  @param backPressureAfter Excess number of emitted records over consumed (by all connected Streams
  after which backPressure will be applied).
  @return a builder that will use Topics to allow multiple Streams from the same data