This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-rng.git

commit 985e3058a60e2ef57dc9bce7c9514a9a39d6f0b1
Author: Alex Herbert <[email protected]>
AuthorDate: Sat Nov 18 08:55:12 2023 +0000

    Checkstyle: private final class should be declared as final
---
 .../commons/rng/core/source32/JDKRandom.java       |  2 +-
 .../core/SplittableProvidersParametricTest.java    |  4 +--
 .../commons/rng/core/source32/L32X64MixTest.java   |  2 +-
 .../rng/core/source64/L128X1024MixTest.java        |  2 +-
 .../commons/rng/core/source64/L128X128MixTest.java |  2 +-
 .../commons/rng/core/source64/L128X256MixTest.java |  2 +-
 .../commons/rng/core/source64/L64X1024MixTest.java |  2 +-
 .../commons/rng/core/source64/L64X128MixTest.java  |  2 +-
 .../rng/core/source64/L64X128StarStarTest.java     |  2 +-
 .../commons/rng/core/source64/L64X256MixTest.java  |  2 +-
 .../commons/rng/sampling/CompositeSamplers.java    | 38 +++++++++++-----------
 .../commons/rng/sampling/UnitSphereSampler.java    |  8 ++---
 .../AhrensDieterMarsagliaTsangGammaSampler.java    |  4 +--
 .../distribution/AliasMethodDiscreteSampler.java   |  2 +-
 .../sampling/distribution/ChengBetaSampler.java    |  4 +--
 .../distribution/ContinuousUniformSampler.java     |  2 +-
 .../distribution/DiscreteUniformSampler.java       | 10 +++---
 .../FastLoadedDiceRollerDiscreteSampler.java       |  4 +--
 .../sampling/distribution/GeometricSampler.java    |  4 +--
 .../MarsagliaTsangWangDiscreteSampler.java         | 10 +++---
 .../RejectionInversionZipfSampler.java             |  2 +-
 .../rng/sampling/distribution/StableSampler.java   |  8 ++---
 .../sampling/distribution/UniformLongSampler.java  | 10 +++---
 .../rng/sampling/distribution/ZigguratSampler.java |  2 +-
 .../commons/rng/sampling/shape/BoxSampler.java     |  6 ++--
 .../commons/rng/sampling/shape/LineSampler.java    |  8 ++---
 .../rng/sampling/shape/TriangleSampler.java        |  6 ++--
 .../rng/sampling/shape/UnitBallSampler.java        |  8 ++---
 .../rng/sampling/CompositeSamplersTest.java        |  8 ++---
 .../sampling/distribution/GaussianSamplerTest.java |  2 +-
 .../KempSmallMeanPoissonSamplerTest.java           |  2 +-
 .../distribution/LogNormalSamplerTest.java         |  2 +-
 .../MarsagliaTsangWangDiscreteSamplerTest.java     |  4 +--
 .../rng/sampling/shape/TetrahedronSamplerTest.java |  2 +-
 .../rng/sampling/shape/TriangleSamplerTest.java    |  8 ++---
 .../commons/rng/simple/RandomSourceTest.java       |  2 +-
 36 files changed, 94 insertions(+), 94 deletions(-)

diff --git 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/JDKRandom.java
 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/JDKRandom.java
index 282e549f..9e115b87 100644
--- 
a/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/JDKRandom.java
+++ 
b/commons-rng-core/src/main/java/org/apache/commons/rng/core/source32/JDKRandom.java
@@ -57,7 +57,7 @@ public class JDKRandom extends IntProvider {
      * @see <a href="http://www.ibm.com/developerworks/library/se-lookahead/";>
      *  IBM DeveloperWorks Article: Look-ahead Java deserialization</a>
      */
-    private static class ValidatingObjectInputStream extends ObjectInputStream 
{
+    private static final class ValidatingObjectInputStream extends 
ObjectInputStream {
         /**
          * @param in Input stream
          * @throws IOException Signals that an I/O exception has occurred.
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/SplittableProvidersParametricTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/SplittableProvidersParametricTest.java
index b248dc35..90801034 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/SplittableProvidersParametricTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/SplittableProvidersParametricTest.java
@@ -45,7 +45,7 @@ class SplittableProvidersParametricTest {
      * All generation and split methods throw an exception. This can be used 
to test
      * exception conditions for arguments to default stream functions.
      */
-    private static class DummyGenerator implements 
SplittableUniformRandomProvider {
+    private static final class DummyGenerator implements 
SplittableUniformRandomProvider {
         /** An instance. */
         static final DummyGenerator INSTANCE = new DummyGenerator();
 
@@ -65,7 +65,7 @@ class SplittableProvidersParametricTest {
      * Generation methods default to ThreadLocalRandom. Split methods return 
the same instance.
      * This is a functioning generator that can be used as a source to seed 
splitting.
      */
-    private static class ThreadLocalGenerator implements 
SplittableUniformRandomProvider {
+    private static final class ThreadLocalGenerator implements 
SplittableUniformRandomProvider {
         /** An instance. */
         static final ThreadLocalGenerator INSTANCE = new 
ThreadLocalGenerator();
 
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source32/L32X64MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source32/L32X64MixTest.java
index b947b52c..5b751716 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source32/L32X64MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source32/L32X64MixTest.java
@@ -35,7 +35,7 @@ class L32X64MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X1024MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X1024MixTest.java
index e7d3621f..aee81e13 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X1024MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X1024MixTest.java
@@ -34,7 +34,7 @@ class L128X1024MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X128MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X128MixTest.java
index 406741b7..617674fd 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X128MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X128MixTest.java
@@ -35,7 +35,7 @@ class L128X128MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X256MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X256MixTest.java
index 9317874a..64461ca3 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X256MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L128X256MixTest.java
@@ -35,7 +35,7 @@ class L128X256MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X1024MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X1024MixTest.java
index 736fb4cb..73bcdc18 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X1024MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X1024MixTest.java
@@ -34,7 +34,7 @@ class L64X1024MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128MixTest.java
index f7f23da7..acdb4ae5 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128MixTest.java
@@ -35,7 +35,7 @@ class L64X128MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128StarStarTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128StarStarTest.java
index a134a6f9..fe47a6e5 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128StarStarTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X128StarStarTest.java
@@ -35,7 +35,7 @@ class L64X128StarStarTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X256MixTest.java
 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X256MixTest.java
index 6cc6130f..6ad2d326 100644
--- 
a/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X256MixTest.java
+++ 
b/commons-rng-core/src/test/java/org/apache/commons/rng/core/source64/L64X256MixTest.java
@@ -35,7 +35,7 @@ class L64X256MixTest extends AbstractLXMTest {
      * Factory to create a composite LXM generator that is equivalent
      * to the RNG under test.
      */
-    private static class Factory implements LXMGeneratorFactory {
+    private static final class Factory implements LXMGeneratorFactory {
         static final Factory INSTANCE = new Factory();
 
         @Override
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
index 41a62d43..aba1aaaf 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/CompositeSamplers.java
@@ -125,7 +125,7 @@ public final class CompositeSamplers {
      * sampler given a factory and the probability distribution. Each new 
instance will recreate
      * the distribution sampler using the factory.
      */
-    private static class SharedStateDiscreteProbabilitySampler implements 
SharedStateDiscreteSampler {
+    private static final class SharedStateDiscreteProbabilitySampler 
implements SharedStateDiscreteSampler {
         /** The sampler. */
         private final DiscreteSampler sampler;
         /** The factory to create a new discrete sampler. */
@@ -243,7 +243,7 @@ public final class CompositeSamplers {
      *
      * @param <S> Type of sampler
      */
-    private static class SamplerBuilder<S> implements Builder<S> {
+    private static final class SamplerBuilder<S> implements Builder<S> {
         /** The specialisation of the sampler. */
         private final Specialisation specialisation;
         /** The weighted samplers. */
@@ -295,7 +295,7 @@ public final class CompositeSamplers {
          *
          * @param <S> Sampler type
          */
-        private static class WeightedSampler<S> {
+        private static final class WeightedSampler<S> {
             /** The weight. */
             private final double weight;
             /** The sampler. */
@@ -593,7 +593,7 @@ public final class CompositeSamplers {
      *
      * @param <T> Type of sample
      */
-    private static class ObjectSamplerFactory<T> implements
+    private static final class ObjectSamplerFactory<T> implements
             SamplerBuilder.SamplerFactory<ObjectSampler<T>> {
         /** The instance. */
         @SuppressWarnings("rawtypes")
@@ -621,7 +621,7 @@ public final class CompositeSamplers {
          *
          * @param <T> Type of sample
          */
-        private static class CompositeObjectSampler<T>
+        private static final class CompositeObjectSampler<T>
                 extends CompositeSampler<ObjectSampler<T>>
                 implements ObjectSampler<T> {
             /**
@@ -645,7 +645,7 @@ public final class CompositeSamplers {
      *
      * @param <T> Type of sample
      */
-    private static class SharedStateObjectSamplerFactory<T> implements
+    private static final class SharedStateObjectSamplerFactory<T> implements
             SamplerBuilder.SamplerFactory<SharedStateObjectSampler<T>> {
         /** The instance. */
         @SuppressWarnings("rawtypes")
@@ -678,7 +678,7 @@ public final class CompositeSamplers {
          *
          * @param <T> Type of sample
          */
-        private static class CompositeSharedStateObjectSampler<T>
+        private static final class CompositeSharedStateObjectSampler<T>
                 extends CompositeSampler<SharedStateObjectSampler<T>>
                 implements SharedStateObjectSampler<T> {
             /**
@@ -708,7 +708,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite DiscreteSampler.
      */
-    private static class DiscreteSamplerFactory implements
+    private static final class DiscreteSamplerFactory implements
             SamplerBuilder.SamplerFactory<DiscreteSampler> {
         /** The instance. */
         static final DiscreteSamplerFactory INSTANCE = new 
DiscreteSamplerFactory();
@@ -722,7 +722,7 @@ public final class CompositeSamplers {
         /**
          * A composite discrete sampler.
          */
-        private static class CompositeDiscreteSampler
+        private static final class CompositeDiscreteSampler
                 extends CompositeSampler<DiscreteSampler>
                 implements DiscreteSampler {
             /**
@@ -744,7 +744,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite SharedStateDiscreteSampler.
      */
-    private static class SharedStateDiscreteSamplerFactory implements
+    private static final class SharedStateDiscreteSamplerFactory implements
             SamplerBuilder.SamplerFactory<SharedStateDiscreteSampler> {
         /** The instance. */
         static final SharedStateDiscreteSamplerFactory INSTANCE = new 
SharedStateDiscreteSamplerFactory();
@@ -760,7 +760,7 @@ public final class CompositeSamplers {
         /**
          * A composite discrete sampler with shared state support.
          */
-        private static class CompositeSharedStateDiscreteSampler
+        private static final class CompositeSharedStateDiscreteSampler
                 extends CompositeSampler<SharedStateDiscreteSampler>
                 implements SharedStateDiscreteSampler {
             /**
@@ -790,7 +790,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite ContinuousSampler.
      */
-    private static class ContinuousSamplerFactory implements
+    private static final class ContinuousSamplerFactory implements
             SamplerBuilder.SamplerFactory<ContinuousSampler> {
         /** The instance. */
         static final ContinuousSamplerFactory INSTANCE = new 
ContinuousSamplerFactory();
@@ -804,7 +804,7 @@ public final class CompositeSamplers {
         /**
          * A composite continuous sampler.
          */
-        private static class CompositeContinuousSampler
+        private static final class CompositeContinuousSampler
                 extends CompositeSampler<ContinuousSampler>
                 implements ContinuousSampler {
             /**
@@ -826,7 +826,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite SharedStateContinuousSampler.
      */
-    private static class SharedStateContinuousSamplerFactory implements
+    private static final class SharedStateContinuousSamplerFactory implements
             SamplerBuilder.SamplerFactory<SharedStateContinuousSampler> {
         /** The instance. */
         static final SharedStateContinuousSamplerFactory INSTANCE = new 
SharedStateContinuousSamplerFactory();
@@ -842,7 +842,7 @@ public final class CompositeSamplers {
         /**
          * A composite continuous sampler with shared state support.
          */
-        private static class CompositeSharedStateContinuousSampler
+        private static final class CompositeSharedStateContinuousSampler
                 extends CompositeSampler<SharedStateContinuousSampler>
                 implements SharedStateContinuousSampler {
             /**
@@ -872,7 +872,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite LongSampler.
      */
-    private static class LongSamplerFactory implements
+    private static final class LongSamplerFactory implements
             SamplerBuilder.SamplerFactory<LongSampler> {
         /** The instance. */
         static final LongSamplerFactory INSTANCE = new LongSamplerFactory();
@@ -886,7 +886,7 @@ public final class CompositeSamplers {
         /**
          * A composite long sampler.
          */
-        private static class CompositeLongSampler
+        private static final class CompositeLongSampler
                 extends CompositeSampler<LongSampler>
                 implements LongSampler {
             /**
@@ -908,7 +908,7 @@ public final class CompositeSamplers {
     /**
      * A factory for creating a composite SharedStateLongSampler.
      */
-    private static class SharedStateLongSamplerFactory implements
+    private static final class SharedStateLongSamplerFactory implements
             SamplerBuilder.SamplerFactory<SharedStateLongSampler> {
         /** The instance. */
         static final SharedStateLongSamplerFactory INSTANCE = new 
SharedStateLongSamplerFactory();
@@ -924,7 +924,7 @@ public final class CompositeSamplers {
         /**
          * A composite long sampler with shared state support.
          */
-        private static class CompositeSharedStateLongSampler
+        private static final class CompositeSharedStateLongSampler
                 extends CompositeSampler<SharedStateLongSampler>
                 implements SharedStateLongSampler {
             /**
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/UnitSphereSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/UnitSphereSampler.java
index 6cf081ab..787bcb63 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/UnitSphereSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/UnitSphereSampler.java
@@ -57,7 +57,7 @@ public class UnitSphereSampler implements 
SharedStateObjectSampler<double[]> {
     /**
      * Sample uniformly from the ends of a 1D unit line.
      */
-    private static class UnitSphereSampler1D extends UnitSphereSampler {
+    private static final class UnitSphereSampler1D extends UnitSphereSampler {
         /** The source of randomness. */
         private final UniformRandomProvider rng;
 
@@ -87,7 +87,7 @@ public class UnitSphereSampler implements 
SharedStateObjectSampler<double[]> {
      * Sample uniformly from a 2D unit circle.
      * This is a 2D specialisation of the UnitSphereSamplerND.
      */
-    private static class UnitSphereSampler2D extends UnitSphereSampler {
+    private static final class UnitSphereSampler2D extends UnitSphereSampler {
         /** Sampler used for generating the individual components of the 
vectors. */
         private final NormalizedGaussianSampler sampler;
 
@@ -123,7 +123,7 @@ public class UnitSphereSampler implements 
SharedStateObjectSampler<double[]> {
      * Sample uniformly from a 3D unit sphere.
      * This is a 3D specialisation of the UnitSphereSamplerND.
      */
-    private static class UnitSphereSampler3D extends UnitSphereSampler {
+    private static final class UnitSphereSampler3D extends UnitSphereSampler {
         /** Sampler used for generating the individual components of the 
vectors. */
         private final NormalizedGaussianSampler sampler;
 
@@ -159,7 +159,7 @@ public class UnitSphereSampler implements 
SharedStateObjectSampler<double[]> {
     /**
      * Sample uniformly from a ND unit sphere.
      */
-    private static class UnitSphereSamplerND extends UnitSphereSampler {
+    private static final class UnitSphereSamplerND extends UnitSphereSampler {
         /** Space dimension. */
         private final int dimension;
         /** Sampler used for generating the individual components of the 
vectors. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java
index c3c884d0..ebf6e298 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AhrensDieterMarsagliaTsangGammaSampler.java
@@ -116,7 +116,7 @@ public class AhrensDieterMarsagliaTsangGammaSampler
      *  Computing, 12, 223-246, 1974.
      * </blockquote>
      */
-    private static class AhrensDieterGammaSampler
+    private static final class AhrensDieterGammaSampler
         extends BaseGammaSampler {
 
         /** Inverse of "alpha". */
@@ -196,7 +196,7 @@ public class AhrensDieterMarsagliaTsangGammaSampler
      *  Volume 26 Issue 3, September, 2000.
      * </blockquote>
      */
-    private static class MarsagliaTsangGammaSampler
+    private static final class MarsagliaTsangGammaSampler
         extends BaseGammaSampler {
 
         /** 1/3. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AliasMethodDiscreteSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AliasMethodDiscreteSampler.java
index 2fa1ef7e..994994dd 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AliasMethodDiscreteSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/AliasMethodDiscreteSampler.java
@@ -171,7 +171,7 @@ public class AliasMethodDiscreteSampler
      *
      * <p>Sampling uses 1 or 2 calls to {@link 
UniformRandomProvider#nextInt()}.</p>
      */
-    private static class SmallTableAliasMethodDiscreteSampler extends 
AliasMethodDiscreteSampler {
+    private static final class SmallTableAliasMethodDiscreteSampler extends 
AliasMethodDiscreteSampler {
         /** The mask to isolate the lower bits. */
         private final int mask;
 
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java
index 8d9fec96..15e9a5e9 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ChengBetaSampler.java
@@ -136,7 +136,7 @@ public class ChengBetaSampler
      * Computes one sample using Cheng's BB algorithm, when beta distribution 
{@code alpha} and
      * {@code beta} shape parameters are both larger than 1.
      */
-    private static class ChengBBBetaSampler extends BaseChengBetaSampler {
+    private static final class ChengBBBetaSampler extends BaseChengBetaSampler 
{
         /** 1 + natural logarithm of 5. */
         private static final double LN_5_P1 = 1 + Math.log(5.0);
 
@@ -210,7 +210,7 @@ public class ChengBetaSampler
      * Computes one sample using Cheng's BC algorithm, when at least one of 
beta distribution
      * {@code alpha} or {@code beta} shape parameters is smaller than 1.
      */
-    private static class ChengBCBetaSampler extends BaseChengBetaSampler {
+    private static final class ChengBCBetaSampler extends BaseChengBetaSampler 
{
         /** 1/2. */
         private static final double ONE_HALF = 1d / 2;
         /** 1/4. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java
index 02e2013e..ac0c8450 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ContinuousUniformSampler.java
@@ -43,7 +43,7 @@ public class ContinuousUniformSampler
     /**
      * Specialization to sample from an open interval {@code (lo, hi)}.
      */
-    private static class OpenIntervalContinuousUniformSampler extends 
ContinuousUniformSampler {
+    private static final class OpenIntervalContinuousUniformSampler extends 
ContinuousUniformSampler {
         /**
          * @param rng Generator of uniformly distributed random numbers.
          * @param lo Lower bound.
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java
index 7190fc34..6f35cff5 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/DiscreteUniformSampler.java
@@ -81,7 +81,7 @@ public class DiscreteUniformSampler
     /**
      * Discrete uniform distribution sampler when the sample value is fixed.
      */
-    private static class FixedDiscreteUniformSampler
+    private static final class FixedDiscreteUniformSampler
             extends AbstractDiscreteUniformSampler {
         /** The value. */
         private final int value;
@@ -120,7 +120,7 @@ public class DiscreteUniformSampler
      * <p>Note: This cannot be used when the range is 1 (2^0) as the shift 
would be 32-bits
      * which is ignored by the shift operator.</p>
      */
-    private static class PowerOf2RangeDiscreteUniformSampler
+    private static final class PowerOf2RangeDiscreteUniformSampler
             extends AbstractDiscreteUniformSampler {
         /** Bit shift to apply to the integer sample. */
         private final int shift;
@@ -169,7 +169,7 @@ public class DiscreteUniformSampler
      *
      * @see <a href="https://arxiv.org/abs/1805.10941";>Fast Random Integer 
Generation in an Interval</a>
      */
-    private static class SmallRangeDiscreteUniformSampler
+    private static final class SmallRangeDiscreteUniformSampler
             extends AbstractDiscreteUniformSampler {
         /** Maximum range of the sample (exclusive). */
         private final long n;
@@ -243,7 +243,7 @@ public class DiscreteUniformSampler
      * Discrete uniform distribution sampler when the range between lower and 
upper is too large
      * to fit in a positive integer.
      */
-    private static class LargeRangeDiscreteUniformSampler
+    private static final class LargeRangeDiscreteUniformSampler
             extends AbstractDiscreteUniformSampler {
         /** Lower bound. */
         private final int lower;
@@ -287,7 +287,7 @@ public class DiscreteUniformSampler
     /**
      * Adds an offset to an underlying discrete sampler.
      */
-    private static class OffsetDiscreteUniformSampler
+    private static final class OffsetDiscreteUniformSampler
             extends AbstractDiscreteUniformSampler {
         /** The offset. */
         private final int offset;
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/FastLoadedDiceRollerDiscreteSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/FastLoadedDiceRollerDiscreteSampler.java
index e921373a..7d11f380 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/FastLoadedDiceRollerDiscreteSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/FastLoadedDiceRollerDiscreteSampler.java
@@ -87,7 +87,7 @@ public abstract class FastLoadedDiceRollerDiscreteSampler
     /**
      * Class to handle the edge case of observations in only one category.
      */
-    private static class FixedValueDiscreteSampler extends 
FastLoadedDiceRollerDiscreteSampler {
+    private static final class FixedValueDiscreteSampler extends 
FastLoadedDiceRollerDiscreteSampler {
         /** The sample value. */
         private final int sampleValue;
 
@@ -117,7 +117,7 @@ public abstract class FastLoadedDiceRollerDiscreteSampler
     /**
      * Class to implement the FLDR sample algorithm.
      */
-    private static class FLDRSampler extends 
FastLoadedDiceRollerDiscreteSampler {
+    private static final class FLDRSampler extends 
FastLoadedDiceRollerDiscreteSampler {
         /** Empty boolean source. This is the location of the sign-bit after 
31 right shifts on
          * the boolean source. */
         private static final int EMPTY_BOOL_SOURCE = 1;
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/GeometricSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/GeometricSampler.java
index 5ea0b565..27b63edd 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/GeometricSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/GeometricSampler.java
@@ -48,7 +48,7 @@ public final class GeometricSampler {
     /**
      * Sample from the geometric distribution when the probability of success 
is 1.
      */
-    private static class GeometricP1Sampler
+    private static final class GeometricP1Sampler
         implements SharedStateDiscreteSampler {
         /** The single instance. */
         static final GeometricP1Sampler INSTANCE = new GeometricP1Sampler();
@@ -74,7 +74,7 @@ public final class GeometricSampler {
     /**
      * Sample from the geometric distribution by using a related exponential 
distribution.
      */
-    private static class GeometricExponentialSampler
+    private static final class GeometricExponentialSampler
         implements SharedStateDiscreteSampler {
         /** Underlying source of randomness. Used only for the {@link 
#toString()} method. */
         private final UniformRandomProvider rng;
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSampler.java
index 42a77873..8e1a9a07 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSampler.java
@@ -127,7 +127,7 @@ public final class MarsagliaTsangWangDiscreteSampler {
      * An implementation for the sample algorithm based on the decomposition 
of the
      * index in the range {@code [0,2^30)} into 5 base-64 digits with 8-bit 
backing storage.
      */
-    private static class MarsagliaTsangWangBase64Int8DiscreteSampler
+    private static final class MarsagliaTsangWangBase64Int8DiscreteSampler
         extends AbstractMarsagliaTsangWangDiscreteSampler {
         /** The mask to convert a {@code byte} to an unsigned 8-bit integer. */
         private static final int MASK = 0xff;
@@ -269,7 +269,7 @@ public final class MarsagliaTsangWangDiscreteSampler {
      * An implementation for the sample algorithm based on the decomposition 
of the
      * index in the range {@code [0,2^30)} into 5 base-64 digits with 16-bit 
backing storage.
      */
-    private static class MarsagliaTsangWangBase64Int16DiscreteSampler
+    private static final class MarsagliaTsangWangBase64Int16DiscreteSampler
         extends AbstractMarsagliaTsangWangDiscreteSampler {
         /** The mask to convert a {@code byte} to an unsigned 16-bit integer. 
*/
         private static final int MASK = 0xffff;
@@ -411,7 +411,7 @@ public final class MarsagliaTsangWangDiscreteSampler {
      * An implementation for the sample algorithm based on the decomposition 
of the
      * index in the range {@code [0,2^30)} into 5 base-64 digits with 32-bit 
backing storage.
      */
-    private static class MarsagliaTsangWangBase64Int32DiscreteSampler
+    private static final class MarsagliaTsangWangBase64Int32DiscreteSampler
         extends AbstractMarsagliaTsangWangDiscreteSampler {
         /** Limit for look-up table 1. */
         private final int t1;
@@ -893,7 +893,7 @@ public final class MarsagliaTsangWangDiscreteSampler {
          * Return a fixed result for the Binomial distribution. This is a 
special class to handle
          * an edge case of probability of success equal to 0 or 1.
          */
-        private static class MarsagliaTsangWangFixedResultBinomialSampler
+        private static final class MarsagliaTsangWangFixedResultBinomialSampler
             extends AbstractMarsagliaTsangWangDiscreteSampler {
             /** The result. */
             private final int result;
@@ -931,7 +931,7 @@ public final class MarsagliaTsangWangDiscreteSampler {
          * Binomial(n, p) = 1 - Binomial(n, 1 - p)
          * </pre>
          */
-        private static class MarsagliaTsangWangInversionBinomialSampler
+        private static final class MarsagliaTsangWangInversionBinomialSampler
             extends AbstractMarsagliaTsangWangDiscreteSampler {
             /** The number of trials. */
             private final int trials;
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java
index 8d9635d5..e8c5d470 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/RejectionInversionZipfSampler.java
@@ -36,7 +36,7 @@ public class RejectionInversionZipfSampler
     /**
      * Implements the rejection-inversion method for the Zipf distribution.
      */
-    private static class RejectionInversionZipfSamplerImpl implements 
SharedStateDiscreteSampler {
+    private static final class RejectionInversionZipfSamplerImpl implements 
SharedStateDiscreteSampler {
         /** Threshold below which Taylor series will be used. */
         private static final double TAYLOR_THRESHOLD = 1e-8;
         /** 1/2. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/StableSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/StableSampler.java
index 626f7a73..167c75d9 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/StableSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/StableSampler.java
@@ -298,7 +298,7 @@ public abstract class StableSampler implements 
SharedStateContinuousSampler {
     /**
      * Class for implementations of a stable distribution transformed by scale 
and location.
      */
-    private static class TransformedStableSampler extends StableSampler {
+    private static final class TransformedStableSampler extends StableSampler {
         /** Underlying normalized stable sampler. */
         private final StableSampler sampler;
         /** The scale parameter. */
@@ -340,7 +340,7 @@ public abstract class StableSampler implements 
SharedStateContinuousSampler {
     /**
      * Implement the {@code alpha = 2} stable distribution case (Gaussian 
distribution).
      */
-    private static class GaussianStableSampler extends StableSampler {
+    private static final class GaussianStableSampler extends StableSampler {
         /** sqrt(2). */
         private static final double ROOT_2 = Math.sqrt(2);
 
@@ -392,7 +392,7 @@ public abstract class StableSampler implements 
SharedStateContinuousSampler {
      * Implement the {@code alpha = 1} and {@code beta = 0} stable 
distribution case
      * (Cauchy distribution).
      */
-    private static class CauchyStableSampler extends BaseStableSampler {
+    private static final class CauchyStableSampler extends BaseStableSampler {
         /** The scale parameter. */
         private final double gamma;
         /** The location parameter. */
@@ -447,7 +447,7 @@ public abstract class StableSampler implements 
SharedStateContinuousSampler {
      * Note: This sampler can be used to output the symmetric case when
      * {@code beta = -1} by negating {@code gamma}.
      */
-    private static class LevyStableSampler extends StableSampler {
+    private static final class LevyStableSampler extends StableSampler {
         /** Underlying normalized Gaussian sampler. */
         private final NormalizedGaussianSampler sampler;
         /** The scale parameter. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/UniformLongSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/UniformLongSampler.java
index 398b3545..04409151 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/UniformLongSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/UniformLongSampler.java
@@ -38,7 +38,7 @@ public abstract class UniformLongSampler implements 
SharedStateLongSampler {
     /**
      * Discrete uniform distribution sampler when the sample value is fixed.
      */
-    private static class FixedUniformLongSampler extends UniformLongSampler {
+    private static final class FixedUniformLongSampler extends 
UniformLongSampler {
         /** The value. */
         private final long value;
 
@@ -76,7 +76,7 @@ public abstract class UniformLongSampler implements 
SharedStateLongSampler {
      * <p>Note: This cannot be used when the range is 1 (2^0) as the shift 
would be 64-bits
      * which is ignored by the shift operator.</p>
      */
-    private static class PowerOf2RangeUniformLongSampler extends 
UniformLongSampler {
+    private static final class PowerOf2RangeUniformLongSampler extends 
UniformLongSampler {
         /** Bit shift to apply to the long sample. */
         private final int shift;
 
@@ -119,7 +119,7 @@ public abstract class UniformLongSampler implements 
SharedStateLongSampler {
      * This sampler assumes the lower bound of the range is 0 and the range is
      * non-zero.
      */
-    private static class SmallRangeUniformLongSampler extends 
UniformLongSampler {
+    private static final class SmallRangeUniformLongSampler extends 
UniformLongSampler {
         /** Maximum range of the sample (exclusive). */
         private final long n;
         /** Limit of the uniform range (inclusive) to sample a positive long.
@@ -188,7 +188,7 @@ public abstract class UniformLongSampler implements 
SharedStateLongSampler {
      * Discrete uniform distribution sampler when the range between lower and 
upper is too large
      * to fit in a positive long.
      */
-    private static class LargeRangeUniformLongSampler extends 
UniformLongSampler {
+    private static final class LargeRangeUniformLongSampler extends 
UniformLongSampler {
         /** Lower bound. */
         private final long lower;
         /** Upper bound. */
@@ -231,7 +231,7 @@ public abstract class UniformLongSampler implements 
SharedStateLongSampler {
     /**
      * Adds an offset to an underlying discrete sampler.
      */
-    private static class OffsetUniformLongSampler extends UniformLongSampler {
+    private static final class OffsetUniformLongSampler extends 
UniformLongSampler {
         /** The offset. */
         private final long offset;
         /** The long sampler. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ZigguratSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ZigguratSampler.java
index 4ae82760..9723626c 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ZigguratSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/ZigguratSampler.java
@@ -533,7 +533,7 @@ public abstract class ZigguratSampler implements 
SharedStateContinuousSampler {
         /**
          * Specialisation which multiplies the standard exponential result by 
a specified mean.
          */
-        private static class ExponentialMean extends Exponential {
+        private static final class ExponentialMean extends Exponential {
             /** Mean. */
             private final double mean;
 
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/BoxSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/BoxSampler.java
index fd8b52b1..8e607f62 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/BoxSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/BoxSampler.java
@@ -50,7 +50,7 @@ public abstract class BoxSampler implements 
SharedStateObjectSampler<double[]> {
      * Sample uniformly from a box in 2D. This is an non-array based 
specialisation of
      * {@link BoxSamplerND} for performance.
      */
-    private static class BoxSampler2D extends BoxSampler {
+    private static final class BoxSampler2D extends BoxSampler {
         /** The x component of bound a. */
         private final double ax;
         /** The y component of bound a. */
@@ -101,7 +101,7 @@ public abstract class BoxSampler implements 
SharedStateObjectSampler<double[]> {
      * Sample uniformly from a box in 3D. This is an non-array based 
specialisation of
      * {@link BoxSamplerND} for performance.
      */
-    private static class BoxSampler3D extends BoxSampler {
+    private static final class BoxSampler3D extends BoxSampler {
         /** The x component of bound a. */
         private final double ax;
         /** The y component of bound a. */
@@ -160,7 +160,7 @@ public abstract class BoxSampler implements 
SharedStateObjectSampler<double[]> {
     /**
      * Sample uniformly from a box in ND.
      */
-    private static class BoxSamplerND extends BoxSampler {
+    private static final class BoxSamplerND extends BoxSampler {
         /** Bound a. */
         private final double[] a;
         /** Bound b. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/LineSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/LineSampler.java
index 37975e4a..b02ec12d 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/LineSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/LineSampler.java
@@ -55,7 +55,7 @@ public abstract class LineSampler implements 
SharedStateObjectSampler<double[]>
      * Sample uniformly from a line in 1D. This is an non-array based 
specialisation of
      * {@link LineSamplerND} for performance.
      */
-    private static class LineSampler1D extends LineSampler {
+    private static final class LineSampler1D extends LineSampler {
         /** The x component of vertex a. */
         private final double ax;
         /** The x component of vertex b. */
@@ -97,7 +97,7 @@ public abstract class LineSampler implements 
SharedStateObjectSampler<double[]>
      * Sample uniformly from a line in 2D. This is an non-array based 
specialisation of
      * {@link LineSamplerND} for performance.
      */
-    private static class LineSampler2D extends LineSampler {
+    private static final class LineSampler2D extends LineSampler {
         /** The x component of vertex a. */
         private final double ax;
         /** The y component of vertex a. */
@@ -148,7 +148,7 @@ public abstract class LineSampler implements 
SharedStateObjectSampler<double[]>
      * Sample uniformly from a line in 3D. This is an non-array based 
specialisation of
      * {@link LineSamplerND} for performance.
      */
-    private static class LineSampler3D extends LineSampler {
+    private static final class LineSampler3D extends LineSampler {
         /** The x component of vertex a. */
         private final double ax;
         /** The y component of vertex a. */
@@ -207,7 +207,7 @@ public abstract class LineSampler implements 
SharedStateObjectSampler<double[]>
     /**
      * Sample uniformly from a line in ND.
      */
-    private static class LineSamplerND extends LineSampler {
+    private static final class LineSamplerND extends LineSampler {
         /** The first vertex. */
         private final double[] a;
         /** The second vertex. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/TriangleSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/TriangleSampler.java
index 662874c8..e7ab9b30 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/TriangleSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/TriangleSampler.java
@@ -82,7 +82,7 @@ public abstract class TriangleSampler implements 
SharedStateObjectSampler<double
      * Sample uniformly from a triangle in 2D. This is an non-array based 
specialisation of
      * {@link TriangleSamplerND} for performance.
      */
-    private static class TriangleSampler2D extends TriangleSampler {
+    private static final class TriangleSampler2D extends TriangleSampler {
         /** The x component of vertex a. */
         private final double ax;
         /** The y component of vertex a. */
@@ -142,7 +142,7 @@ public abstract class TriangleSampler implements 
SharedStateObjectSampler<double
      * Sample uniformly from a triangle in 3D. This is an non-array based 
specialisation of
      * {@link TriangleSamplerND} for performance.
      */
-    private static class TriangleSampler3D extends TriangleSampler {
+    private static final class TriangleSampler3D extends TriangleSampler {
         /** The x component of vertex a. */
         private final double ax;
         /** The y component of vertex a. */
@@ -214,7 +214,7 @@ public abstract class TriangleSampler implements 
SharedStateObjectSampler<double
     /**
      * Sample uniformly from a triangle in ND.
      */
-    private static class TriangleSamplerND extends TriangleSampler {
+    private static final class TriangleSamplerND extends TriangleSampler {
         /** The first vertex. */
         private final double[] a;
         /** The second vertex. */
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/UnitBallSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/UnitBallSampler.java
index 7a314e0a..aaee46c6 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/UnitBallSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/shape/UnitBallSampler.java
@@ -54,7 +54,7 @@ public abstract class UnitBallSampler implements 
SharedStateObjectSampler<double
     /**
      * Sample uniformly from a 1D unit line.
      */
-    private static class UnitBallSampler1D extends UnitBallSampler {
+    private static final class UnitBallSampler1D extends UnitBallSampler {
         /** The source of randomness. */
         private final UniformRandomProvider rng;
 
@@ -79,7 +79,7 @@ public abstract class UnitBallSampler implements 
SharedStateObjectSampler<double
     /**
      * Sample uniformly from a 2D unit disk.
      */
-    private static class UnitBallSampler2D extends UnitBallSampler {
+    private static final class UnitBallSampler2D extends UnitBallSampler {
         /** The source of randomness. */
         private final UniformRandomProvider rng;
 
@@ -113,7 +113,7 @@ public abstract class UnitBallSampler implements 
SharedStateObjectSampler<double
      * Sample uniformly from a 3D unit ball. This is an non-array based 
specialisation of
      * {@link UnitBallSamplerND} for performance.
      */
-    private static class UnitBallSampler3D extends UnitBallSampler {
+    private static final class UnitBallSampler3D extends UnitBallSampler {
         /** The standard normal distribution. */
         private final NormalizedGaussianSampler normal;
         /** The exponential distribution (mean=1). */
@@ -154,7 +154,7 @@ public abstract class UnitBallSampler implements 
SharedStateObjectSampler<double
      * Sample using ball point picking.
      * @see <a href="https://mathworld.wolfram.com/BallPointPicking.html";>Ball 
point picking</a>
      */
-    private static class UnitBallSamplerND extends UnitBallSampler {
+    private static final class UnitBallSamplerND extends UnitBallSampler {
         /** The dimension. */
         private final int dimension;
         /** The standard normal distribution. */
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/CompositeSamplersTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/CompositeSamplersTest.java
index 5c6601d7..22be4007 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/CompositeSamplersTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/CompositeSamplersTest.java
@@ -864,7 +864,7 @@ class CompositeSamplersTest {
     /**
      * Sample an object {@code Integer} from a range.
      */
-    private static class RangeSampler implements 
SharedStateObjectSampler<Integer> {
+    private static final class RangeSampler implements 
SharedStateObjectSampler<Integer> {
         private final int min;
         private final int range;
         private final UniformRandomProvider rng;
@@ -894,7 +894,7 @@ class CompositeSamplersTest {
     /**
      * Sample a primitive {@code integer} from a range.
      */
-    private static class IntRangeSampler implements SharedStateDiscreteSampler 
{
+    private static final class IntRangeSampler implements 
SharedStateDiscreteSampler {
         private final int min;
         private final int range;
         private final UniformRandomProvider rng;
@@ -924,7 +924,7 @@ class CompositeSamplersTest {
     /**
      * Sample a primitive {@code double} from a range between a and b.
      */
-    private static class DoubleRangeSampler implements 
SharedStateContinuousSampler {
+    private static final class DoubleRangeSampler implements 
SharedStateContinuousSampler {
         private final double a;
         private final double b;
         private final UniformRandomProvider rng;
@@ -965,7 +965,7 @@ class CompositeSamplersTest {
     /**
      * Sample a primitive {@code long} from a range.
      */
-    private static class LongRangeSampler implements SharedStateLongSampler {
+    private static final class LongRangeSampler implements 
SharedStateLongSampler {
         private final long min;
         private final long range;
         private final UniformRandomProvider rng;
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/GaussianSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/GaussianSamplerTest.java
index 3627cac7..a8b01429 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/GaussianSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/GaussianSamplerTest.java
@@ -150,7 +150,7 @@ class GaussianSamplerTest {
      * <p>Note that due to type erasure the type returned by the 
SharedStateSampler is not
      * available at run-time and the GaussianSampler has to assume it is the 
correct type.</p>
      */
-    private static class BadSharedStateNormalizedGaussianSampler
+    private static final class BadSharedStateNormalizedGaussianSampler
             implements NormalizedGaussianSampler, SharedStateSampler<Integer> {
         @Override
         public double sample() {
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/KempSmallMeanPoissonSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/KempSmallMeanPoissonSamplerTest.java
index 1d2c085b..ae36c371 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/KempSmallMeanPoissonSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/KempSmallMeanPoissonSamplerTest.java
@@ -179,7 +179,7 @@ class KempSmallMeanPoissonSamplerTest {
     /**
      * A RNG returning a fixed value.
      */
-    private static class FixedRNG implements UniformRandomProvider {
+    private static final class FixedRNG implements UniformRandomProvider {
         /** The value. */
         private double value;
 
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/LogNormalSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/LogNormalSamplerTest.java
index 9b70f0ad..6631cc6a 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/LogNormalSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/LogNormalSamplerTest.java
@@ -99,7 +99,7 @@ class LogNormalSamplerTest {
      * <p>Note that due to type erasure the type returned by the 
SharedStateSampler is not
      * available at run-time and the LogNormalSampler has to assume it is the 
correct type.</p>
      */
-    private static class BadSharedStateNormalizedGaussianSampler
+    private static final class BadSharedStateNormalizedGaussianSampler
             implements NormalizedGaussianSampler, SharedStateSampler<Integer> {
         @Override
         public double sample() {
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSamplerTest.java
index f8358ac3..959a2cbc 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/MarsagliaTsangWangDiscreteSamplerTest.java
@@ -658,7 +658,7 @@ class MarsagliaTsangWangDiscreteSamplerTest {
     /**
      * Return a fixed sequence of {@code int} output.
      */
-    private static class FixedSequenceIntProvider extends IntProvider {
+    private static final class FixedSequenceIntProvider extends IntProvider {
         /** The count of values output. */
         private int count;
         /** The values. */
@@ -683,7 +683,7 @@ class MarsagliaTsangWangDiscreteSamplerTest {
     /**
      * A RNG returning a fixed {@code int} value with all the bits set.
      */
-    private static class FixedRNG extends IntProvider {
+    private static final class FixedRNG extends IntProvider {
         @Override
         public int next() {
             return 0xffffffff;
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TetrahedronSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TetrahedronSamplerTest.java
index 419b96db..ed604af0 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TetrahedronSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TetrahedronSamplerTest.java
@@ -355,7 +355,7 @@ class TetrahedronSamplerTest {
      *
      * @see <a 
href="https://mathworld.wolfram.com/Point-PlaneDistance.html";>Point-Plane 
distance</a>
      */
-    private static class Tetrahedron {
+    private static final class Tetrahedron {
         /** The face normals. */
         private final double[][] n;
         /** The distance of each face from the origin. */
diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TriangleSamplerTest.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TriangleSamplerTest.java
index 88d45bc4..f39080ea 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TriangleSamplerTest.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/shape/TriangleSamplerTest.java
@@ -631,7 +631,7 @@ class TriangleSamplerTest {
     /**
      * Transform coordinates from 2D to a higher dimension using the rotation 
matrix.
      */
-    private static class ForwardTransform implements Transform {
+    private static final class ForwardTransform implements Transform {
         private final double[][] r;
 
         /**
@@ -652,7 +652,7 @@ class TriangleSamplerTest {
      * The result should be in the 2D plane (i.e. higher dimensions of the 
transformed vector
      * are asserted to be zero).
      */
-    private static class ReverseTransform implements Transform {
+    private static final class ReverseTransform implements Transform {
         private final double[][] r;
         private final int n;
 
@@ -679,7 +679,7 @@ class TriangleSamplerTest {
     /**
      * No-operation transform on 2D input. Asserts the input coordinates are 
length 2.
      */
-    private static class Transform2Dto2D implements Transform {
+    private static final class Transform2Dto2D implements Transform {
         @Override
         public double[] apply(double[] coord) {
             Assertions.assertEquals(2, coord.length);
@@ -707,7 +707,7 @@ class TriangleSamplerTest {
      * Point in a triangle</a>
      * @see <a href="https://stackoverflow.com/a/34093754";>Point inside 
triangle by Cédric Dufour</a>
      */
-    private static class Triangle {
+    private static final class Triangle {
         private final double p2x;
         private final double p2y;
         private final double dX21;
diff --git 
a/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/RandomSourceTest.java
 
b/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/RandomSourceTest.java
index dd69cb31..fe07c6bb 100644
--- 
a/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/RandomSourceTest.java
+++ 
b/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/RandomSourceTest.java
@@ -171,7 +171,7 @@ class RandomSourceTest {
      * Class to provide a complete implementation of the {@link 
UniformRandomProvider} interface.
      * This must return a different result than the default implementations in 
the interface.
      */
-    private static class RestorableRNG implements 
RestorableUniformRandomProvider {
+    private static final class RestorableRNG implements 
RestorableUniformRandomProvider {
         /** The source of randomness. */
         private final SplittableRandom rng = new SplittableRandom(123);
 

Reply via email to