Combine a list of Observables and wait until all completed
<p><strong>TL;DR</strong>
How to convert <code>Task.whenAll(List&lt;Task&gt;)</code> into <code>RxJava</code>?</p>

<p>My existing code uses Bolts to build up a list of asynchronous tasks and waits until all of those tasks finish before performing other steps. Essentially, it builds up a <code>List&lt;Task&gt;</code> and returns a single <code>Task</code> which is marked as completed when <em>all</em> tasks in the list complete, as per the <a href="https://github.com/BoltsFramework/Bolts-Android#tasks-in-parallel" rel="noreferrer">example on the Bolts site</a>.</p>

<p>I'm looking to replace <code>Bolts</code> with <code>RxJava</code> and I'm assuming this method of building up a list of async tasks (size not known in advance) and wrapping them all into a single <code>Observable</code> is possible, but I don't know how. </p>

<p>I've tried looking at <code>merge</code>, <code>zip</code>, <code>concat</code> etc... but can't get to work on the <code>List&lt;Observable&gt;</code> that I'd be building up as they all seem geared to working on just two <code>Observables</code> at a time if I understand the docs correctly.</p>

<p>I'm trying to learn <code>RxJava</code> and am still very new to it so forgive me if this is an obvious question or explained in the docs somewhere; I have tried searching. Any help would be much appreciated.</p>