private List<MigrationChapSetting> ParseChapSettings(XmlDocument document, string chapSettingsNodeName)
        {
            List<MigrationChapSetting> iscsiChapList = null;
            XmlNodeList nodeList = document.SelectNodes(@"//" + chapSettingsNodeName);
            if (null != nodeList && 0 < nodeList.Count)
            {
                iscsiChapList = new List<MigrationChapSetting>();
                foreach (XmlNode node in nodeList)
                {
                    if (null != node.Attributes["Name"])
                    {
                        MigrationChapSetting iscsiChap = new MigrationChapSetting();
                        iscsiChap.Name = node.Attributes["Name"].Value;
                        iscsiChap.Password = node.Attributes["Password"].Value;
                        iscsiChap.Valid = Boolean.Parse(node.Attributes["Valid"].Value);
                        iscsiChap.Id = node.Attributes["Id"].Value;
                        iscsiChap.SecretsEncryptionThumbprint = node.Attributes["SecretsEncryptionThumbprint"].Value;
                        iscsiChapList.Add(iscsiChap);
                    }
                }
            }

            return iscsiChapList;
        }
        /// <summary>
        /// Outbound chap setting parser
        /// </summary>
        /// <param name="scsiClapRootElement">out bound chap setting root</param>
        /// <returns>chap setting</returns>
        private List<MigrationChapSetting> ParseScsiOutBoundChapDataImpl(XElement scsiClapRootElement)
        {
            List<MigrationChapSetting> chapSettingList = null;
            if (null != scsiClapRootElement)
            {
                MigrationChapSetting chapSetting = new MigrationChapSetting();
                var Id = this.GetSubElements(scsiClapRootElement, "Id");
                if (null != Id && 0 < Id.Count())
                {
                    chapSetting.Id = Id.First().Value;
                }

                chapSetting.Name = this.GetSubElements(scsiClapRootElement, "Name").First().Value;
                chapSetting.Password =
                    this.serviceSecretEncryptor.EncryptSecret(
                        this.GetSubElements(scsiClapRootElement, "Password").First().Value);
                chapSetting.SecretsEncryptionThumbprint = this.serviceSecretEncryptor.GetSecretsEncryptionThumbprint();
                chapSetting.Valid = bool.Parse(this.GetSubElements(scsiClapRootElement, "Valid").First().Value);
                if (!string.IsNullOrEmpty(chapSetting.Name) && !string.IsNullOrEmpty(chapSetting.Password))
                {
                    chapSettingList = new List<MigrationChapSetting>();
                    chapSettingList.Add(chapSetting);
                }
            }

            return chapSettingList;
        }