Description
There are two issues with class SamplerBase class (in package o.a.c.rng.sampling.distribution):
- It allows inheritance.
- It introduces in the (protected) API methods that were meant for internal use only.
By creating a subclass of SamplerBase, an application developer can access more methods than the intended API (i.e. the sample() method).
A clean fix would involve a BC breaking of no consequence on bona fide users of the API (as there is no reason to call the protected methods from outside the package were the samplers are defined).