code: @Override
  	public final synchronized void setSeed(long seed) {
          // Annoying runtime check for initialisation of internal data
          // caused by java.util.Random invoking setSeed() during init.
          // This is unavoidable because no fields in our instance will
          // have been initialised at this point, not even if the code
          // were placed at the declaration of the member variable.
          if (ibuf == null) ibuf = new int[2];
  
          ibuf[0] = (int)seed;
          ibuf[1] = (int)(seed >>> 32);
          setSeed(ibuf);
      }
docs: This method resets the state of this instance using the 64
  bits of seed data provided.  Note that if the same seed data
  is passed to two different instances of MTRandom (both of
  which share the same compatibility state) then the sequence
  of numbers generated by both instances will be identical.
  <p>
  If this instance was initialised in 'compatibility' mode then
  this method will only use the lower 32 bits of any seed value
  passed in and will match the behaviour of the original C code
  exactly with respect to state initialisation.
  
  @param seed The 64 bit value used to initialise the random
  number generator state.