title: Flutter - How does MultiProvider work with providers of the same type?
body: <p>For example, I am trying to obtain data emitted for multiple streams at once, but 2 or more of these streams emit data of the same type, lets say a string.</p>
  
  <p>My question is, is it possible to use <code>MultiProvider</code> and use multiple <code>StreamProvider</code> (or any provider, but I am interested in this case) of the same type while still being able to access the data emitted by each one of them?</p>
  
  <p>A solution for this is using a <code>StreamBuilder</code> when using common data types but I really like what the <code>MultiProvider</code> offers in terms of cleaner code.</p>
  
  <p>Example: </p>
  
  <pre class="lang-dart prettyprint-override"><code>class MyScreen extends StatelessWidget {
    Widget build(BuildContext context) {
      return MultiProvider(
        providers: [
          StreamProvider&lt;String&gt;(stream: Observable.just("stream1")),
          StreamProvider&lt;String&gt;(stream: Observable.just("stream2")),
          StreamProvider&lt;String&gt;(stream: Observable.just("stream3"))
        ],
        child: Builder(
          builder: (BuildContext context) {
            AsyncSnapshot&lt;String&gt; snapshot =
                Provider.of&lt;AsyncSnapshot&lt;String&gt;&gt;(context);
            String data = snapshot.data;
            return Text(data); 
          },
        ),
      );
    }
  }
  </code></pre>