I hit a problem with Shuffle this weekend. It only shuffles half the "deck". I wrote a patch and some tests here https://github.com/virtualdataset/virtdata-java/pull/60