public void WriteTo(Stream stream)
{
StreamWriter writer = new StreamWriter(stream, Encoding.ASCII);
stream.Seek(0, SeekOrigin.End);
// Write the header
writer.Write(source);
writer.Write(" ");
writer.Write(target);
writer.Write(" ");
writer.Write(command);
writer.Write(" ");
writer.Write(data.Length);
writer.Write(" ");
writer.Flush();
// Write the data
if(data.Length > 0)
stream.Write(data, 0, data.Length);
}