}
private int generateRandom(int numTotal, int numToRead, boolean[] catchVal) {
int[] rndArray = new int[numTotal];
int max = 0, i, dimArray, rndNum;
MersenneTwister mst = new MersenneTwister();
dimArray = numTotal;
for (i = 0; i < dimArray; i++) {
rndArray[i] = i;
}
for (i = 0; i < numToRead; i++) {
rndNum = (int) (mst.nextDouble() * dimArray);
catchVal[rndArray[rndNum]] = true;
if (max < rndArray[rndNum]) {
max = rndArray[rndNum];
}
rndArray[rndNum] = rndArray[--dimArray];