public override Object Clone()
{
// Since we are a derived class use the base's Clone()
// to perform the shallow copy. Since it is shallow it
// will include our derived class. Since we are derived,
// this method is an override.
Message o = (Message) base.Clone();
if( this.messageId != null )
{
o.MessageId = (MessageId) this.messageId.Clone();
}
return o;
}