static byte[] ChunkToBytes(Encoding encoding, object[] chunks, int count) { if (count == 1) { return ChunkToBytes(encoding, chunks[0]); } else { var buffer = new List<byte>(); for (int i = 0; i < count; i++) { buffer.AddRange(ChunkToBytes(encoding, chunks[i])); } return buffer.ToArray(); } }