public void        WriteHeader(SMPPMessage message)
 {
     _offset = 4;
     WriteInteger32((UInt32)message.Command);
     WriteInteger32((UInt32)message.Status);
     WriteInteger32(message.Sequence);
 }
        public void        WriteMessage(SMPPMessage message)
        {
            WriteHeader(message);

            message.Serialize(this);

            if (message is SMPPMessageWithOptional && ((SMPPMessageWithOptional)message).hasOptional)
            {
                WriteOptional(((SMPPMessageWithOptional)message).Optional);
            }
        }