public static byte[] SerializeReport(
     PersonSalaryReport report )
 {
     using( var memoryStream = new MemoryStream() ) {
         using( var sw = new StreamWriter( memoryStream ) ) {
             sw.WriteLine( GetHeaderLine() );
             foreach( var personReportItem in report.Persons ) {
                 sw.WriteLine( GetDataLine( personReportItem ) );
             }
             sw.WriteLine( GetFooterLine( report ) );
             sw.Flush();
             return memoryStream.ToArray();
         }
     }
 }
 private static string GetFooterLine(
     PersonSalaryReport report )
 {
     return GetReportLine( string.Empty, report.TotalSalary, report.TotalTaxes, report.TotalTakeHomeSalary );
 }