Impossible to subclass GroundPointing due to protected method getTargetPV
"Impossible" is a little strong. The problem is that a class like "YawSteering" that subclasses GroundPointing and also references another GroundPointing object cannot be successfully implemented in another package. YawSteering needs to access the getTargetPV method for an object of declared type GroundPointing (see line 115 in the YawSteering.getTargetPV method). Due to Java's gotcha definition of "protected", this does not work. It would be fine in C** but not in Java.
The bottom line is that the "protected" declaration of GroundPointing.getTargetPV, although well-intentioned, makes it difficult for users to write their own subclasses of GroundPointing of the type, like YawSteering, that wrap another GroundPointing object.
I recommend that GroundPointing.getTargetPV be declared public with a note that it is not intended to be called outside of subclasses of GroundPointing.
(from redmine: issue id 341, created on 2017-05-31, closed on 2017-07-27)