public WindowsTemplateRegistrationDescription(WindowsTemplateRegistrationDescription sourceRegistration) : base(sourceRegistration)
 {
     this.WnsHeaders = new WnsHeaderCollection();
     if (sourceRegistration.WnsHeaders != null)
     {
         foreach (KeyValuePair <string, string> wnsHeader in sourceRegistration.WnsHeaders)
         {
             this.WnsHeaders.Add(wnsHeader.Key, wnsHeader.Value);
         }
     }
     this.BodyTemplate = sourceRegistration.BodyTemplate;
     this.TemplateName = sourceRegistration.TemplateName;
 }
 internal WindowsTemplateRegistrationDescription(string notificationHubPath, Uri channelUri, string templatePayload, IDictionary <string, string> wnsHeaders, IEnumerable <string> tags) : base(notificationHubPath, channelUri, tags)
 {
     if (string.IsNullOrWhiteSpace(templatePayload))
     {
         throw new ArgumentNullException("templatePayload");
     }
     this.BodyTemplate = new CDataMember(templatePayload);
     this.WnsHeaders   = new WnsHeaderCollection();
     if (wnsHeaders != null)
     {
         foreach (KeyValuePair <string, string> wnsHeader in wnsHeaders)
         {
             this.WnsHeaders.Add(wnsHeader.Key, wnsHeader.Value);
         }
     }
 }