title: How to wait for Subject.onNext(o)?
body: <p>There is <code>RxBus</code> implementation:</p>
  
  <pre><code>public class RxBus&lt;E&gt; {
  
      private final Subject&lt;E, E&gt; subject = new SerializedSubject&lt;&gt;(PublishSubject.&lt;E&gt;create());
  
      public void post(E o) { subject.onNext(o); }
      public Observable&lt;E&gt; observe() { return subject; }
  }
  </code></pre>
  
  <p>Typical subscriber:</p>
  
  <pre><code>dataEventsBus.observe()
          .compose(RxP.ofTypes(
                  DataEvent.Participant.Edit.class,
                  DataEvent.Participant.Approved.class
          ))
          .flatMap(dataEvent -&gt; updateParticipantCache())
          .subscribe();
  </code></pre>
  
  <p>Typical poster:</p>
  
  <pre><code>public void createTransactionsByAllocation(..., Subscriber&lt;List&lt;Transaction&gt;&gt; subscriber) {
      projectSession.getProject()
              .flatMap(project -&gt; ...)
              .doOnCompleted(() -&gt; dataEventsBus.post(new DataEvent.Participant.NewPayment()))
              .subscribeOn(ioScheduler)
              .observeOn(mainThreadScheduler) // I want this Observabel to be compleated only
              .subscribe(subscriber); // when all bus's subscriber will be completed
  }
  </code></pre>
  
  <p>Can I wait for all Bus's subscribers somehow?</p>
  
  <p>It looks like I must make posting events part of the chain. Like <code>.flatMap(dataEventsBus.post(new DataEvent.Participant.NewPayment()))</code>. How can I implement it?</p>