internal void RefreshCounters(bool updateDatabases, bool updateStatistics) { if (updateDatabases) { IEnumerable <MailboxDatabase> enumerable; if (MailboxDatabase.TryDiscoverLocalMailboxDatabases(out enumerable)) { this.currentDatabases = enumerable; } else { this.lastMailboxDatabaseNameRefresh = DateTime.MinValue; Log.LogErrorMessage("Unable to discover any mailbox databases in AD for the '{0}' server.", new object[] { Environment.MachineName }); } } if (updateStatistics && this.currentDatabases != null) { Dictionary <MailboxDatabase, List <MailboxDatabaseCalculatedCounters.DiagnosticMeasurementValue> > dictionary; if (MailboxDatabaseCalculatedCounters.TryCreateCounters(this.currentDatabases, out dictionary)) { this.currentCounters = dictionary; } else { this.lastStatisticsRefresh = DateTime.MinValue; Log.LogErrorMessage("Unable to create counters.", new object[0]); } } this.doingWork = false; }