protected virtual void OnOneSecondElapsed()
{
ElapsedSessionTime += OneSecond;
if(!DecrementRemainingSessionTime)
{
return;
}
TimeSpan remaining = RemainingSessionTime - OneSecond;
RemainingSessionTime = remaining > TimeSpan.Zero ? remaining : TimeSpan.Zero;
}