In other words, in the inheritance tree, the class providing the common implementation must sit between the interface class and the concrete classes.
In other words, in the inheritance tree, the class providing the common implementation must sit between the interface class and the concrete classes.