code: @Weight(value = Weight.Unit.VARIABLE, comment = "Depends on the current call stack depth")
    public static void check() {
      final long time = System.currentTimeMillis();
  
      final int stackDepth = ThreadUtils.stackDepth();
  
      final List<TimeData> list = REGISTRY.get();
      final Iterator<TimeData> iterator = list.iterator();
  
      while (iterator.hasNext()) {
        final TimeData timeWatchItem = iterator.next();
        if (timeWatchItem.getDetectedStackDepth() >= stackDepth) {
          final boolean timePoint = timeWatchItem.isTimePoint();
          try {
            final long detectedDelay = time - timeWatchItem.getCreationTimeInMilliseconds();
            if (timePoint) {
              try {
                timeWatchItem.getAlertListener().onTimeAlert(detectedDelay, timeWatchItem);
              } catch (Exception ex) {
                final UnexpectedProcessingError error = new UnexpectedProcessingError("Error during time point processing", ex);
                MetaErrorListeners.fireError(error.getMessage(), error);
              }
            } else if (detectedDelay > timeWatchItem.getMaxAllowedDelayInMilliseconds()) {
              final TimeAlertListener processor = timeWatchItem.getAlertListener();
              if (processor == NULL_TIME_ALERT_LISTENER) {
                MetaErrorListeners.fireError("Detected time violation without defined time alert listener", new TimeViolationError(detectedDelay, timeWatchItem));
              } else {
                try {
                  processor.onTimeAlert(detectedDelay, timeWatchItem);
                } catch (Exception ex) {
                  final UnexpectedProcessingError error = new UnexpectedProcessingError("Error during time alert processing", ex);
                  MetaErrorListeners.fireError(error.getMessage(), error);
                }
              }
            }
          } finally {
            iterator.remove();
          }
        }
      }
      if (list.isEmpty()) {
        REGISTRY.remove();
      }
    }
docs: Check all registered time watchers for time bound violations.
  
  @see #addGuard(java.lang.String, long)
  @see #addGuard(java.lang.String, long, com.igormaznitsa.meta.common.utils.TimeGuard.TimeAlertListener)
  @since 1.0