title: How do I put to a three-dimensional, Liskov Map in Java?
body: <p>I am trying to put a Map into another Map.</p>
  
  <pre><code>Map&lt;String, ? extends Map&lt;String, String&gt;&gt; test = new HashMap&lt;String, HashMap&lt;String, String&gt;&gt;();
  Map&lt;String, String&gt; temp = new HashMap&lt;String, String&gt;();
  test.put("foobar", temp);
  </code></pre>
  
  <p>But I receive this:</p>
  
  <p>The method put(String, capture#1-of ? extends Map) in the type Map> is not applicable for the arguments (String, Map)</p>
  
  <p>Isn't <code>Map&lt;String,String&gt;</code> the same as <code>? extends Map&lt;String,String&gt;</code>?</p>