public override Task Publish(Message message) { var messages = _parser.GetMessages(message).ToList(); if (messages.Count == 0) { return(Task.CompletedTask); } if (messages.Count == 1) { return(ProcessMessage(messages[0])); } return(Task.WhenAll(messages.Select(m => ProcessMessage(m)))); }