title: Map of maps and generics
body: <p>I want to create a (recursive) map of maps.  That is, the value of type of the Map is another Map of the same type as the outer map.</p>
  
  <p>For example:</p>
  
  <pre><code>Map&lt;String, Map&lt;String, Map&lt;String, ... &gt;&gt;&gt;&gt; foo;
  </code></pre>
  
  <p>Evidently, I need some way to refer to "the type being defined" or something in order to do this.  I guess I could do:</p>
  
  <pre><code>Map&lt;String, Map&lt;String, ?&gt;&gt;
  </code></pre>
  
  <p>... and then just @SupressWarnings("unchecked") myself past the inevitable warnings, but is there a better way?</p>