Code update (following change in "Commons RNG").
diff --git a/src/main/java/org/apache/commons/math4/random/RngAdaptor.java b/src/main/java/org/apache/commons/math4/random/RngAdaptor.java
index 4603f4e..3c365af 100644
--- a/src/main/java/org/apache/commons/math4/random/RngAdaptor.java
+++ b/src/main/java/org/apache/commons/math4/random/RngAdaptor.java
@@ -21,7 +21,7 @@
 import java.io.ObjectOutputStream;
 import java.io.ObjectInputStream;
 import org.apache.commons.math4.util.FastMath;
-import org.apache.commons.rng.UniformRandomProvider;
+import org.apache.commons.rng.RestorableUniformRandomProvider;
 import org.apache.commons.rng.RandomSource;
 
 /**
@@ -52,7 +52,7 @@
  *  </li>
  *  <li>
  *   The new RNG implementations are not {@code Serializable}.
- *   Use {@link RandomSource#saveState(UniformRandomProvider)}
+ *   Use {@link RestorableUniformRandomProvider#saveState()}
  *   instead.
  *  </li>
  *  <li>
@@ -79,7 +79,7 @@
     /** Source. */
     private final RandomSource source;
     /** Delegate. */
-    private transient UniformRandomProvider delegate;
+    private transient RestorableUniformRandomProvider delegate;
     /** Next gaussian. */
     private double nextGaussian = Double.NaN;
 
@@ -206,7 +206,7 @@
         out.defaultWriteObject();
 
         // Save current state.
-        out.writeObject(RandomSource.saveState(delegate).getState());
+        out.writeObject(((RandomSource.State) delegate.saveState()).getState());
    }
 
     /**
@@ -224,6 +224,6 @@
         delegate = RandomSource.create(source);
         // And restore its state.
         final RandomSource.State state = new RandomSource.State((byte[]) in.readObject());
-        RandomSource.restoreState(delegate, state);
+        delegate.restoreState(state);
     }
 }
diff --git a/src/main/java/org/apache/commons/math4/util/RandomPivotingStrategy.java b/src/main/java/org/apache/commons/math4/util/RandomPivotingStrategy.java
index af0f5e1..ddcaf28 100644
--- a/src/main/java/org/apache/commons/math4/util/RandomPivotingStrategy.java
+++ b/src/main/java/org/apache/commons/math4/util/RandomPivotingStrategy.java
@@ -21,7 +21,7 @@
 import java.io.ObjectOutputStream;
 import java.io.ObjectInputStream;
 import org.apache.commons.math4.exception.MathIllegalArgumentException;
-import org.apache.commons.rng.UniformRandomProvider;
+import org.apache.commons.rng.RestorableUniformRandomProvider;
 import org.apache.commons.rng.RandomSource;
 
 /**
@@ -35,7 +35,7 @@
     /** Source of randomness. */
     private final RandomSource randomSource;
     /** Random generator to use for selecting pivot. */
-    private transient UniformRandomProvider random;
+    private transient RestorableUniformRandomProvider random;
 
     /**
      * Simple constructor.
@@ -77,7 +77,7 @@
         out.defaultWriteObject();
 
         // Save current state.
-        out.writeObject(RandomSource.saveState(random).getState());
+        out.writeObject(((RandomSource.State) random.saveState()).getState());
    }
 
     /**
@@ -95,6 +95,6 @@
         random = RandomSource.create(randomSource);
         // And restore its state.
         final RandomSource.State state = new RandomSource.State((byte[]) in.readObject());
-        RandomSource.restoreState(random, state);
+        random.restoreState(state);
     }
 }