public Mat getNext(int aMazeLevel) { Mat lResult = null; Mat lFound = new Mat(); lFound.material = fMat; lFound.data = baseMaterialData; for (Mat lMat : this) { if (lMat.mazeLevel < 0 || lMat.mazeLevel == aMazeLevel) { lFound = lMat; if (fRnd.nextInt(100) < lMat.chanceToUse) { lResult = lMat; } } } return lResult == null ? lFound : lResult; }