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.