This interface simplifies the task of writing fluent builders which need to inherit from
other builders (abstract or concrete). It overcomes Java's limitation of not being able to
return an instance of a class narrowed to the class itself. It should be used by all
classes which require inheritance.
- Tristan Tarrant