@Override
 public boolean testUse(final boolean isUse) {
   if (!isUse) {
     return currentCount > 0;
   } else {
     if (currentCount > 0) {
       currentCount--;
       stageCounter.accept();
       return true;
     } else {
       stageCounter.deny();
       return false;
     }
   }
 }
 @Override
 public void resetConditions() {
   currentCount = initialCount;
   stageCounter.resetCounter();
 }