bool ParseForServerInfo(IEnumerable <LogEntry> logEntries, bool fromLiveLogs = false) { bool foundAny = false; foreach (var wurmLogEntry in logEntries) { var serverStamp = wurmLogEntry.TryGetServerFromLogEntry(logger, characterName); if (serverStamp != null) { ServerName previousServerName = null; if (fromLiveLogs) { previousServerName = currentLiveLogsServer ?? sortedServerHistory.TryGetServerAtStamp(Time.Get.LocalNow); } sortedServerHistory.Insert(serverStamp); foundAny = true; if (fromLiveLogs) { currentLiveLogsServer = serverStamp.ServerName; eventAggregator.Send(new YouAreOnEventDetectedOnLiveLogs(currentLiveLogsServer, characterName, previousServerName != currentLiveLogsServer)); } } } return(foundAny); }