/// <summary>
 /// Encode DataSetMessages
 /// </summary>
 private void EncodeMessages(JsonEncoder encoder)
 {
     if (DataSetMessages != null && DataSetMessages.Count > 0)
     {
         if (HasSingleDataSetMessage)
         {
             // encode single dataset message
             JsonDataSetMessage jsonDataSetMessage = DataSetMessages[0] as JsonDataSetMessage;
             if (jsonDataSetMessage != null)
             {
                 jsonDataSetMessage.Encode(encoder, kFieldMessages);
             }
         }
         else
         {
             encoder.PushArray(kFieldMessages);
             foreach (var message in DataSetMessages)
             {
                 JsonDataSetMessage jsonDataSetMessage = message as JsonDataSetMessage;
                 if (jsonDataSetMessage != null)
                 {
                     jsonDataSetMessage.Encode(encoder);
                 }
             }
             encoder.PopArray();
         }
     }
 }