{{>head}}

  <div>
    {{#self}}
      <div><h1>{{{nameWithGenerics}}} {{kind}}</h1></div>
    {{/self}}

    {{#clazz}}
    {{>documentation}}

    {{#hasPublicConstructors}}
    <section>
      <h2>Constructors</h2>

      <dl>
        {{#publicConstructors}}
        <dt>
          {{{linkedName}}}({{{ linkedParams }}})
        </dt>
        <dd>
          {{{ oneLineDoc }}}
        </dd>
        {{/publicConstructors}}
      </dl>
    </section>
    {{/hasPublicConstructors}}

    {{#hasPublicMethods}}
    <section>
      <h2>Methods</h2>
      <dl>
        {{#allPublicInstanceMethods}}
        {{{ oneLineDoc }}}
        {{/allPublicInstanceMethods}}
      </dl>
    </section>
    {{/hasPublicMethods}}

    {{/clazz}}
  </div>

{{>footer}}
