 optional for public, no-argument constructors when no
 other constructors are present. This enables injectors to invoke default
 constructors.

 <blockquote><tt>
       @Inject<sub><i>opt</i></sub>
       <i>Annotations<sub>opt</sub></i>
       public
       <i>SimpleTypeName</i>()
       <i>Throws<sub>opt</sub></i>
       <i>ConstructorBody</i></tt>
 </blockquote>

 <p>Injectable fields:
 <ul>
   <li>are annotated with <code>@Inject</code>.
   <li>are not final.
   <li>may have any otherwise valid name.</