public void Process(int numberOfExecutions, TimeSpan delayBetweenExecutions) { for (int i = 0; i < numberOfExecutions; i++) { var depth = _messagingProvider.GetDepth(_queueName); _dataProvider.Save(_queueName, DateTime.UtcNow, depth); if ((i + 1) < numberOfExecutions) { _timingProvider.Delay(delayBetweenExecutions); } } }