/**
  * Check if the temporaryTrigger is ready to be triggered again, that means: the time since last
  * used is greater than the trigger threshold.
  *
  * @param temporaryTrigger trigger used
  * @return true if the trigger waited more than enough (more than the threshold)
  */
 private boolean insertTriggerIfReady(@NotNull final TemporaryTrigger temporaryTrigger) {
   if ((System.currentTimeMillis() - triggerTimeMap.getOrDefault(temporaryTrigger, 0L))
       > temporaryTrigger.getConditionTime()) {
     triggerTimeMap.put(temporaryTrigger, System.currentTimeMillis());
     return true;
   }
   return false;
 }