public void Write(MessageLines messagesToWrite) { var multipleColumnMessages = messagesToWrite.Where(x => !string.IsNullOrWhiteSpace(x.Key) && !string.IsNullOrWhiteSpace(x.Value)); var longestKey = GetLongestKey(multipleColumnMessages); foreach (var message in messagesToWrite) { if (string.IsNullOrWhiteSpace(message.Key) || string.IsNullOrWhiteSpace(message.Value)) { WriteSingleTextLine(message); } else { WriteParameterWithDescription(message, longestKey); } } }