| When dependency injection frameworks call constructors, they can only do so on | |
| constructors of concrete classes, which can delegate to superclass constructors. | |
| In the case of abstract classes, their constructors are only called by their | |
| concrete subclasses, not directly by injection frameworks, so the `@Inject` | |
| annotation has no effect. |