public override IEnumerator <LogBase> GetEnumerator()
 {
     if (CachingService == null)
     {
         return(base.GetEnumerator());
     }
     return(CachingService
            .Select(i => i.Value)
            .Where(i => i.ExpireTime >= DateTime.UtcNow)
            .Select(i => i.UntypedValue as LogBase)
            .Where(i => !OnlySerializeLogsOfTheCorrectType || i != null)
            .GetEnumerator());
 }