Replace ImplementationNotAccessibleException with RuntimeException
We're defining two custom exception classes in metrics-lib:
ImplementationNotAccessibleException. The first makes sense to me, because applications might want to catch and handle that. In fact they have to, because it's a checked exception.
But I don't see why we have
ImplementationNotAccessibleException there. It's only thrown in
DescriptorSourceFactory in this method, and it's a runtime exception that applications shouldn't catch anyway. We could easily replace it with a generic
RuntimeException with the same message and have one type less in the API.
I'd say that given it's a runtime exception, we can take it out in 1.8.0. But if that's too soon, let's deprecate it now and take it out in 2.0.0.