code: @Override
      public void setSeed(final int[] seed) {
          if (seed == null) {
              setSeed(System.currentTimeMillis() + System.identityHashCode(this));
              return;
          }
  
          System.arraycopy(seed, 0, v, 0, Math.min(seed.length, v.length));
  
          if (seed.length < v.length) {
              for (int i = seed.length; i < v.length; ++i) {
                  final long l = v[i - seed.length];
                  v[i] = (int) ((1812433253l * (l ^ (l >> 30)) + i) & 0xffffffffL);
              }
          }
  
          index = 0;
          clear();  // Clear normal deviate cache
      }
docs: Reinitialize the generator as if just built with the given int array seed.
  <p>The state of the generator is exactly the same as a new
  generator built with the same seed.</p>
  @param seed the initial seed (32 bits integers array). If null
  the seed of the generator will be the system time plus the system identity
  hash code of the instance.