protected override void Tick()
{
base.Tick();
if (this.RejuvenateTime.HasValue && this.IsEnabled)
{
var remaining = this.RejuvenateTime.Value.Subtract(DateTimeOffset.Now);
if (remaining.Ticks < 0) remaining = TimeSpan.Zero;
this.Remaining = remaining;
if (!this.notificated && this.Rejuvenated != null && remaining.Ticks <= 0)
{
this.Rejuvenated(this, new ConditionRejuvenatedEventArgs(this.Name, 0));
this.notificated = true;
}
}
else
{
this.Remaining = null;
}
}