public XmlDataStoreRepository()
        {
            dataStoreRepositoryPath = ConfigurationItem<string>.ReadSetting("XmlDataStoreRepositoryPath").GetValue();

            serializer = new XmlObjectSerializer();

            if (!File.Exists(dataStoreRepositoryPath))
            {
                dataStores = new XmlDataStoreCollection();

                File.WriteAllText(dataStoreRepositoryPath, serializer.Serialize(dataStores));

                return;
            }

            dataStores = serializer.Deserialize<XmlDataStoreCollection>(File.ReadAllText(dataStoreRepositoryPath));
        }
        public SecureXmlDataStoreRepository()
        {
            key = ConfigurationItem<string>.ReadSetting("SecureXmlDataStoreRepositoryKey").GetValue();
            dataStoreRepositoryPath = ConfigurationItem<string>.ReadSetting("SecureXmlDataStoreRepositoryPath").GetValue();

            serializer = new XmlObjectSerializer();

            if (!File.Exists(dataStoreRepositoryPath))
            {
                dataStores = new XmlDataStoreCollection();

                File.WriteAllText(dataStoreRepositoryPath, serializer.Serialize(dataStores));

                return;
            }

            dataStores = serializer.Deserialize<XmlDataStoreCollection>(File.ReadAllText(dataStoreRepositoryPath));

            PersistStore(); // force encryption for any insecure connection strings
        }