private void ForwardMessages(int inboundMessageCount, IList<CloudQueueMessage> inboundMessages, Stopwatch stopWatch)
{
if(this.DestinationQueues.Count == 1)
// Special case: no need to incur the overhead of parallelism.
PostMessagesToDestQueue(this.DestinationQueues[0], inboundMessages);
else
// Push messages to destination queues in parallel.
this.DestinationQueues.AsParallel().ForAll(destQueue => PostMessagesToDestQueue(destQueue, inboundMessages));
this.LogInformation("Done forwarding {0} messages to {1} queues. Elapsed {2}.", inboundMessageCount, this.DestinationQueues.Count, stopWatch.Elapsed);
stopWatch.Reset();
stopWatch.Start();
}