title: Check for value (list) existence in immutable map builder
body: <p>I have a map defined like this:</p>
  
  <pre><code>Map&lt;String, List&lt;SomeClass&gt;&gt; map = new HashMap&lt;&gt;();
  </code></pre>
  
  <p>I figured it would be nice to make it immutable, by using <code>ImmutableMap.Builder</code> construct.
  But in my case, when putting new elements in map, I need to first check for their existence, if list for given key doesn't exist, create it and add element to it:</p>
  
  <pre><code>for(final SomeClass elem : elements){
      final String key = elem.getKey();
      if(!map.containsKey(target)){
          map.put(key, new LinkedList&lt;SomeClass&gt;());
      }
      map.get(key).add(elem);
  }
  </code></pre>
  
  <p>If there target key in map, I need to create new list assigned to it, and then add element to that list. </p>
  
  <p>Is there any way to make that map immutable without using unnecessary code like more loops to first initialize lists for target keys?</p>
  
  <p>Btw. I'm using Java 7</p>