This class as a very specific and delicate purpose, as documented!
The whole point of it is to catch your attention in case of compilation errors, to warn that you are breaking a fundamental SPI.

I literally can not break out of the circular dependency build if you don't provide an upgrade path: i.e. the method _getClassLoaderService()_ should not be declared in here but you need to provide a sensible default implementation in the parent class.