Sometimes you may need to extend a method that is currently set to be private. Unfortunately, it is not possible to extend private variables or methods in PHP.
This is a design issue. Core modules were written long before the introduction of module overrides. Difference is that private scope “locks down” class features, while protected scope is less strict and allows overrides by a child class.
If you come across a core module method that is private, the best thing to do is change it to protected.