public Optional<WindowPane<K, Object>> onTimer(TriggerKey<K> key, MessageCollector collector,
        TaskCoordinator coordinator) {
      if (impl.shouldFire() && !isCancelled) {
        LOG.trace("Triggering timer triggers");

        // repeating trigger can trigger multiple times, So, clear the trigger to allow future triggerings.
        if (impl instanceof RepeatingTriggerImpl) {
          ((RepeatingTriggerImpl<M, K>) impl).clear();
        }
        return onTriggerFired(key, collector, coordinator);
      }
      return Optional.empty();
    }
State corresponding to a created {@link TriggerImpl} instance.
samza-core/src/main/java/org/apache/samza/operators/impl/WindowOperatorImpl.java