Reports classes which contain references to one of their subclasses.
Such references may be confusing, and violate several rules of object-oriented design.
Example:
class Entity {
// Warning: the class references its subclass
void compare(SimpleEntity entity) {
...
}
}
class SimpleEntity extends Entity {
...
}