title: How can ImmutableMap builder create instance of abstract class?
body: <p>I am learning to use guava library and referred to <a href="https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/ImmutableMap.html" rel="nofollow noreferrer">this</a> I see use of builder to construct an instance of immutable map. How is the builder constructor able to create an abstract class instance?</p>
  
  <pre><code>   static final ImmutableMap&lt;String, Integer&gt; WORD_TO_INT =
         new ImmutableMap.Builder&lt;String, Integer&gt;()
             .put("one", 1)
             .put("two", 2)
             .put("three", 3)
             .build();
  </code></pre>