Update Long2IntArray to fill the array in reverse.

This addresses a false positive alert for a potential array index out of
bounds exception raised by LGTM.com.
diff --git a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/Long2IntArray.java b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/Long2IntArray.java
index 0e161fe..47866b2 100644
--- a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/Long2IntArray.java
+++ b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/internal/Long2IntArray.java
@@ -63,19 +63,17 @@
     private static int[] convertSeed(Long seed, int size) {
         final int[] out = new int[size];
         final SplitMix64 rng = new SplitMix64(seed);
-        int i = 0;
-        // Handle an odd size
-        if ((size & 1) == 1) {
-            out[i++] = NumberFactory.extractHi(rng.nextLong());
-        }
-        // Fill the remaining pairs
-        while (i < size) {
+        // Fill pairs of ints from a long.
+        // The array is filled from the end towards the start.
+        for (int i = size - 1; i > 0; i -= 2) {
             final long v = rng.nextLong();
             out[i] = NumberFactory.extractHi(v);
-            out[i + 1] = NumberFactory.extractLo(v);
-            i += 2;
+            out[i - 1] = NumberFactory.extractLo(v);
         }
-
+        // An odd size requires a final single int at the start
+        if ((size & 1) == 1) {
+            out[0] = NumberFactory.extractHi(rng.nextLong());
+        }
         return out;
     }
 }
diff --git a/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/internal/Long2IntArrayTest.java b/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/internal/Long2IntArrayTest.java
index fad7d37..97c915a 100644
--- a/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/internal/Long2IntArrayTest.java
+++ b/commons-rng-simple/src/test/java/org/apache/commons/rng/simple/internal/Long2IntArrayTest.java
@@ -25,9 +25,19 @@
 public class Long2IntArrayTest {
     @Test
     public void testFixedLengthConversion() {
+        for (int length = 0; length < 10; length++) {
+            testFixedLengthConversion(length);
+        }
+    }
+
+    private static void testFixedLengthConversion(int length) {
         final Long seed = 567L;
-        final int length = 5;
         final int[] out = new Long2IntArray(length).convert(seed);
         Assert.assertEquals(length, out.length);
+        // This very seed dependent but the algorithm
+        // should only produce 0 about 1 in 2^32 times.
+        for (int i = 0; i < length; i++) {
+            Assert.assertNotEquals(0, out[i]);
+        }
     }
 }