private IEnumerable <string> CheckForDuplicateQueueNames()
{
var duplicateQueues = this.AllMessageContractTypes()
.Select(t => new Tuple <string, Type>(PathFactory.QueuePathFor(t), t))
.GroupBy(tuple => tuple.Item1)
.Where(tuple => tuple.Count() > 1)
.ToArray();
var validationErrors = duplicateQueues
.Select(tuple => "Some message types ({0}) would result in a duplicate queue name of {1}".FormatWith(string.Join(", ", tuple), tuple.Key))
.ToArray();
return(validationErrors);
}