https://issues.apache.org/activemq/browse/AMQNET-292

Add the clone method to ensure the Message state is correct and properties aren't set read-only when CopyOnSend is set.


diff --git a/src/main/csharp/Commands/Message.cs b/src/main/csharp/Commands/Message.cs
index 0f30331..1bc4374 100644
--- a/src/main/csharp/Commands/Message.cs
+++ b/src/main/csharp/Commands/Message.cs
@@ -66,6 +66,14 @@
             return thisMsg != null && oMsg != null && oMsg.Equals(thisMsg);
         }
 
+        public override object Clone()
+        {
+            Message cloneMessage = (Message) base.Clone();
+
+            cloneMessage.propertyHelper = new MessagePropertyIntercepter(cloneMessage, cloneMessage.properties, this.ReadOnlyProperties) { AllowByteArrays = false };
+            return cloneMessage;
+        }
+
         public void Acknowledge()
         {
             if(null == Acknowledger)