public void fromSectionValue(Object aValue) {
   if (aValue instanceof ArrayList) {
     for (Object lItem : ((ArrayList) aValue)) {
       Mat lMat = new Mat();
       lMat.quest = quest;
       if (lItem instanceof HashMap) {
         lMat.fromSectionValue(lItem);
       } else if (lItem instanceof String) {
         String lStr = lItem.toString().toUpperCase();
         lMat.material = Material.getMaterial(lStr);
         if (lMat.material == null) {
           lMat.material = Material.getMaterial(Integer.parseInt(lStr));
         }
       }
       add(lMat);
     }
   }
 }
 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;
 }