JSF.INHERITANCE.NON_ABSTRACT
Hierarchies should be based on abstract classes.
Rationale
Hierarchies based on abstract classes tend to focus designs toward producing clean interfaces, keep implementation details out of interfaces, and minimize compilation dependencies while allowing alternative implementations to coexist.