Using an AlternatingCoin: range = 7 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 range = 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 range = Integer.MAX_VALUE-1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ========= Testing an UnfilteredRandom: range = 7 6 7 6 3 6 5 6 7 0 5 6 1 6 1 2 1 2 3 6 7 range = 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 range = Integer.MAX_VALUE-1 203280552 663947813 977484726 522303891 1253254130 949435833 676713444 1186954541 593499432 1014981309 1665647016 508000779 119018764 1928181987 2094390610 947347589 1891426210 754035687 1370182820 1200524805