title: Cleanest way to create a Guava Multimap from a Java 8 stream
body: <p>I have a <code>List&lt;Foo&gt;</code> and want a <code>Multimap&lt;String, Foo&gt;</code> where we've grouped the <code>Foo</code>'s by their <code>getId()</code> function.</p>
  <p>I am using Java 8 and its almost awesome in that you can do:</p>
  <pre><code>List&lt;Foo&gt; foos = ...
  Map&lt;String, List&lt;Foo&gt;&gt; foosById = foos.stream().collect(groupingBy(Foo::getId));
  </code></pre>
  <p>However, I have a good amount of code that wants a <code>MultiMap&lt;String, Foo&gt;</code> so this doesnt save me anything and I'm back to using a for-loop to create my <code>Multimap</code>. Is there a nice &quot;functional&quot; way that I am missing?</p>