Access the random number generator through an interface
Implement a pre-caching random generator
stochastic: use the pre-caching random generator
Pull all numbers from the same blocking queue
Use a big queue for the CachingRandomGenerator

This version actually dies after exhausting heap space.
But it looks nice :).
Use own synchronized array for storage
Add finalizer to shut down generator thread
Fill random number is chunks of 16 mil.
Fix the thread shutdown
maven: bump java version to 7, for string switches
Completely rework the caching of random numbers
Add tests for random generation and fix some bugs
Implement random chaining with "deficits"
More logging statements and tests, tests pass apart from IllegalMonitorStateException
Catch IllegalMonitorStateException in generator shutdown

I'm not sure why this happens, but ignoring it should be harmless.

Exception in thread "random" java.lang.IllegalMonitorStateException
        at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:155)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1260)
        at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:460)
        at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:327)
        at org.textensor.stochdiff.numeric.math.MultipathRandomGenerator$Filler._run(MultipathRandomGenerator.java:129)
        at org.textensor.stochdiff.numeric.math.CachingRandomGenerator$Filler.run(CachingRandomGenerator.java:33)
        at java.lang.Thread.run(Thread.java:722)
Exception in thread "random" java.lang.IllegalMonitorStateException
        at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:155)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1260)
        at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:460)
        at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:327)
        at org.textensor.stochdiff.numeric.math.SimpleCachingRandomGenerator$Filler._run(SimpleCachingRandomGenerator.java:31)
        at org.textensor.stochdiff.numeric.math.CachingRandomGenerator$Filler.run(CachingRandomGenerator.java:33)
        at java.lang.Thread.run(Thread.java:722)
Remove some debugging statements to speed things up
Downgrade to Java 6, jrat doesn't support Java 7
Keep generated number in normal arrays

This should give a tiny speedup.
Make queue settings configurable
Catch IllegalMonitorStateException in generator shutdown

The same logic as in SimpleCachingRandomGenerator applied
to MultipathRandomGenerator.