/// <summary>
        /// Constructor that accepts Stream, for .NET Core/PCL/Universal apps
        /// </summary>
        /// <param name="configFile">Raw XML from Web.config, AppSettings.config and ConnectionStrings.config</param>
        public ConfigurationManagerSafe(Stream configFile) : this()
        {
            XDocument xdoc = configFile.ToXDocument();

            AppSettings       = new AppSettingList(xdoc.ToString());
            ConnectionStrings = new ConnectionStringList(xdoc.ToString());
        }
 /// <summary>
 /// Constructor that accepts AppSettings and ConnectionStrings XML data in string form
 /// Usage: From the Application project, 1. Read .config XML from filesystem, 2. Pass xml into constructor as strings
 ///     var localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
 ///     localFolder = await localFolder.GetFolderAsync("App_Data");
 ///     var appSettingsFile = await localFolder.GetFileAsync("AppSettings.config");
 ///     var appSettingsXml = await Windows.Storage.FileIO.ReadTextAsync(appSettingsFile);
 ///     var connectStringsFile = await localFolder.GetFileAsync("ConnectionStrings.config");
 ///     var connectStringsXml = await Windows.Storage.FileIO.ReadTextAsync(connectStringsFile);
 ///     var configManager = new ConfigurationManagerSafe(appSettingsXml, connectStringsXml);
 /// </summary>
 /// <param name="appSettings">Raw XML from AppSettings.config</param>
 /// <param name="connectionStrings">Raw XML from ConnectionStrings.config</param>
 public ConfigurationManagerSafe(string appSettings, string connectionStrings) : this()
 {
     AppSettings       = new AppSettingList(appSettings);
     ConnectionStrings = new ConnectionStringList(connectionStrings);
 }