title: C# unusual inheritance syntax w/ generics
body: <p>I happened upon this in an NHibernate class definition:</p>
  
  <pre><code>public class SQLiteConfiguration : PersistenceConfiguration&lt;SQLiteConfiguration&gt;
  </code></pre>
  
  <p>So this class inherits from a base class that is parameterized by... the derived class?&nbsp;&nbsp;&nbsp;My head just exploded.  </p>
  
  <p>Can someone explain what this means and how this pattern is useful?</p>
  
  <p>(This is NOT an NHibernate-specific question, by the way.)</p>